我想更新id=3 的状态
id=3 的条目
出现错误
SQLSTATE[42S22]:未找到列:1054字段中的未知列"3"list'(SQL:从
entry
中选择3
(
public function edit($id)
{
$entrys = Entry::with('user')->get($id);
return view('entry.edit')->with('entry', $entrys);
}
Route::get('/entry/edit{id}', 'EntryController@edit')->name('entry.edit')->middleware('is_admin');
Route::post('/entry/edit', 'EntryController@update')->name('entry.update')->middleware('is_admin');
class Entry extends Model
{
protected $fillable = [
'title',
'status',
'file',
'user_id'
];
public function user()
{
return $this->belongsTo(User::class);
}
}
public function entrys()
{
return $this->hasMany(Entry::class);
}
您的错误修复是
$entrys = Entry::with('user')->find($id);
不要将值传递给get()
对于更新,添加user_id
密钥,我假设您想要插入auth()->id()
,因此代码为
public function update(Request $request)
{
$this->validate($request, [
'status' => 'required',
]);
$entrys = new Entry;
$entrys->status = $request->input('status');
$entrys->user_id = auth()->id(); // add this line
$entrys->save();
return redirect('/entry/view')->with('Success', 'Status updated!');
}
SQLSTATE[42S22]:未找到列:1054"字段列表"中的未知列"3"(SQL:从条目中选择3(
Entry::with('user')->find($id);
一般错误:1364字段"user_id"没有默认值(SQL:插入条目(状态,更新日期,创建日期(值(接收日期,2020-09-16 12:03:08200-09-16 12:00 03:08((
这是因为您没有在更新方法中设置user_id
列。
$entrys->user_id = $request->input('user_id') // The user who gets updated