私はを使用しています。 私のデータベースにユーザーとタスクがあります。私のタスクは、次のスキーマを持っている:MassAssignmentException _token - ユーザーとタスクを保存します。
Schema::create('tasks', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->integer('user_id')->unsigned();
$table->timestamps();
});
マイユーザーモデルは、私は、データベース内のユーザーからタスクを保存したいと思い、次の
class User extends Authenticatable
{
use Notifiable;
protected $fillable = [
'name', 'email', 'password',
];
protected $hidden = [
'password', 'remember_token',
];
public function task()
{
return $this->hasMany('App\Task');
}
}
のように見えます。私が試してみました店舗方法は以下を参照してください。
public function store(Request $request)
{
$this->validate($request, [
'newTaskName' => 'required|min:3|max:190',
]);
Auth::user()->task()->Create($request->all()); //here I get the error
Session::flash('success', 'New task has been successfully added.');
return redirect()->route('tasks.index');
}
をしかし、私はこの行Auth::user()->task()->Create($request->all());
で次のエラーを取得:
Illuminate\Database\Eloquent\MassAssignmentException _token
要求が正しくリコールセーフされていない理由を任意の提案を?
以下のように:prop '_token'のタスクモデルに質量割り当てが設定されていません。 https://laravel.com/docs/5.5/eloquent#mass-assignmentこれは、$ request-> all()にcsrf_token sendリクエストが含まれているためではありません。その行を$ request-> only(['prop1'、 'prop2])に変更してください。 – macghriogair
は 'Task'モデルも共有しますか?特に '$ fillable'値ですか? – C2486
$ request-> all()はどのような方法でも動作します。create()はfillableのフィールドのみを反映します..もしそうでなければ無視します..あなたのタスクモデルを表示します – ZeroOne