Estoy usando el marco de Laravel para crear un prototipo y necesito generar un artículo individual desde una base de datos en función de su ID. Parece sencillo, pero sigo recibiendo el siguiente error cuando consulto la base de datos:
QueryException in Connection.php line 647: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'articles.id' in 'where clause' (SQL: select * from `articles` where `articles`.`id` = 1 limit 1) Estoy tratando de recuperar un artículo específico basado en la columna de la base de datos article_id a través de la tabla de artículos en mi modelo de artículo. Estoy usando una ruta de recursos, por lo tanto, el nombre del método 'mostrar', por lo que puedo acceder a través del article/{$article_id} en la URL.
Aquí está mi controlador:
public function show($article_id) { $article = Article::find($article_id); $article->toArray(); return view('articles.view', array('article' => $article)); } No hay articles.id . Debería ser articles_id . ¿Me estoy perdiendo algo obvio aquí?
Gracias de antemano, cualquier sugerencia muy apreciada.
El comando de búsqueda busca lo que esté configurado como clave principal, que por defecto es id . Puede cambiar la clave principal en su modelo:
class Article { protected $table = 'articles'; protected $primaryKey = 'articles_id'; }find() buscado por clave principal, así que cambie la consulta a:
$article = Article::where('article_id', $article_id)->first();