我正在使用用户和帖子模型开发一个laravel应用程序,并且我收到错误:
Field 'user_id' doesn't have a default value
我为两个模型建立了关系。帖子属于用户,用户可以拥有尽可能多的帖子。 user_id未保存到数据库中的post表中。
后控制器:
class PostController extends Controller
{
public function postCreatePost(Request $request){
$this->validate($request, [
'body' => 'required'
]);
$post = new Post([
'body' => $request->input('body')
]);
$post->save();
return redirect()->route('dashboard');
}
路线:
Route::post('/createpost', [
'uses' => 'PostController@postCreatePost',
'as' => 'post.create'
]);
答案 0 :(得分:1)
您需要指定user_id
:
$post = new Post([
'body' => $request->input('body'),
'user_id' => auth()->user()->id
]);
或者你可以使用关系:
$user = auth()->user();
$user->posts()->create(['body' => $request->input('body')]);
另外,不要忘记将user_id
添加到$fillable
模型中的Post
数组中。
答案 1 :(得分:1)
原因是您在保存帖子时没有给rdtsc
。
一个解决方案是。
rdtsc