2017-10-26 16 views
-1

私TaskController.phpは、メンバ関数のタスクにこのコール()

public function store(Request $request) 
    { 
     $this->validate($request, [ 
      'name' => 'required|max:255', 
     ]); 

     //dd($request->name); 

     $request->user()->tasks()->create([ 
      'name' => $request->name, 
     ]); 

     return redirect('/tasks'); 
    } 

and Task.php look like 

public function user() 
    { 
     return $this->belongsTo(User::class); 
    } 

(1/1)FatalErrorExceptionコール()がnullのように見える新しいタスクを追加します

+0

タスクを割り当てるユーザーはどこにありますか。 ** $ user-> tasks() - > create(['name();} $ user = User :: find($ id)**を使用して、** task => $ request-> name、 ]); $ {user-name};} => $ request-> name); ** –

答えて

0

私は、これはあなたが

+0

は、$ request-> user() - > Task :: createを意味します。私は仕事を試みた::作成([ '名前' => $要求 - >名前、 ]); SQLSTATE [HY000]:一般的なエラー:1364フィールド 'user_id'にデフォルト値がありません(SQL: 'tasks'(' name'、 'updated_at'、' created_at')の値に挿入します(sdfsadf 、2017-10-26 09:02:15、2017-10-26 09:02:15)) – user3358052

+0

No Just Task :: create(['name' => $ request-> name、]); '$ request-> user() - >' – harry

+0

は不要です。タスクテーブルにはuser_idフィールドが含まれています。 – user3358052

0

てきたよ探しているものであると思います

Task::create([ 
    'name' => $request->name, 
    'your_user_id_fieldname_goes_here'=> 'value goes here' 
]); 

を試してみてくださいユーザモデルクラス内のタスクとユーザとの関係を定義しましたか?私はあなたがそれを追加するために逃した可能性があることを伝えることができますから。

+0

Task.php public function user() { return $ this-> belongsTo(User :: class); } – user3358052

+0

user.php public function tasks() { return $ this-> hasMany(Task :: class); } – user3358052

+0

OK '$ request-> user()'にユーザオブジェクトがありますか?エラーメッセージのように '$ request-> user()'の結果がnullの場合 – zaherg