我的MySQL表文章主键名是a_id
,但当我使用findOrFail
方法时,此函数搜索到数据库键名是id
,那么如何更改id
中的键{1}}到a_id
?
public function edit($a_id)
{
$articleData = Article::findOrFail('a_id',$a_id);
return view('Admin.articleEdit')->with('articleData',$articleData);
}
答案 0 :(得分:0)
您可以在您的Eloquent模型上设置主键。
class Article extends Model
{
protected $primaryKey = 'a_id';
请参阅此处的主键段落: https://laravel.com/docs/5.5/eloquent#defining-models
答案 1 :(得分:0)
findOrFail()是一种专门查找名为“id”的标识符字段的方法,这是命名主键的标准命名约定。除非你试图掩盖你的id字段的列名,否则我建议你去id。
要使用findOrFail,您需要更新表以获得名为“id”的id字段或在模型中定义主键:
protected $primaryKey = 'admin_id';
另一个选择是使用firstOrFail(),如下所示:
Article::where('a_id','=',$a_id)->firstOrFail();
以下是有关Eloquent方法的article,可帮助您了解有关findOrFail或FirstOrFail()的更多信息