Php 将外键用户id保存到posts表

Php 将外键用户id保存到posts表,php,laravel,Php,Laravel,我正在开发一个带有用户和post模型的laravel应用程序,我得到一个错误: Field 'user_id' doesn't have a default value 我已经为这两种模型建立了关系。帖子属于用户,用户可以拥有任意多个帖子。用户id未保存到数据库中的post表中 邮政总监: class PostController extends Controller { public function postCreatePost(Request $request){

我正在开发一个带有用户和post模型的laravel应用程序,我得到一个错误:

Field 'user_id' doesn't have a default value
我已经为这两种模型建立了关系。帖子属于用户,用户可以拥有任意多个帖子。用户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'

]);

您需要指定
用户id

$post = new Post([
    'body' => $request->input('body'),
    'user_id' => auth()->user()->id
]);
或者您可以使用关系:

$user = auth()->user();
$user->posts()->create(['body' => $request->input('body')]);

另外,不要忘记在
Post
模型中的
$filleble
数组中添加
user\u id

原因是保存Post时没有提供
user\u id

一个解决办法是

$post = new Post([

     'body' => $request->input('body'), 
     'user_id' => $your_use_id
]);

@Gayan你忘记在数组中添加逗号了。