我正在使用Laravel框架来创建原型,并且需要根据数据库从数据库输出单个文章。看起来很简单但我在查询数据库时遇到以下错误:
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)
我正在尝试通过文章模型中的文章表基于数据库列article_id
检索特定文章。我正在使用资源路由,因此方法名称为“show” - 因此我可以通过URL中的article/{$article_id}
进行访问。
这是我的控制器:
public function show($article_id) {
$article = Article::find($article_id);
$article->toArray();
return view('articles.view', array('article' => $article));
}
没有articles.id
。它应该是articles_id
。我错过了一些明显的东西吗?
在此先感谢,任何指针都非常赞赏。
答案 0 :(得分:3)
find命令查找设置为主键的任何内容,默认情况下为id
。您可以更改模型中的主键:
class Article {
protected $table = 'articles';
protected $primaryKey = 'articles_id';
}
答案 1 :(得分:2)
find()
,因此请将查询更改为:
$article = Article::where('article_id', $article_id)->first();