2
私はこのエラーを取得しています:Laravel 5.2プライベートメッセージエラーSQLSTATE [42S22]を送信します。列が見つかりません:1054不明な列 'のuser_id' 'をフィールドリスト' に
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_id' in 'field list' (SQL: insert into `email` (`recipient_id`, `subject`, `message`, `user_id`, `updated_at`, `created_at`) values (0, asd, <p>dsa</p>, 1, 2016-04-02 19:17:55, 2016-04-02 19:17:55))
マイコントローラー:
public function mail(Request $request, Validator $validator)
{
$validator = Validator::make($request->all(), [
'usn' => 'exists:users',
'send_subject' => 'required',
'send_text' => 'required',
]);
$user = User::all();
$target = $request->usn;
$check = $user->where('usn', $target)->first()['usn'];
Auth::user()->email()->create([
'recipient_id' => $check,
'subject' => $request->send_subject,
'message' => $request->send_text,
]);
notify()->flash('Sucessfully send!', 'success');
return redirect()->back();
}
User.php:
public function email()
{
return $this->hasMany('App\Email');
}
Email.php:
class Email extends Model
{
protected $table = 'email';
protected $fillable = [
'sender_id',
'recipient_id',
'subject',
'message',
];
public function users()
{
$this->belongsToMany('App\Users');
}
}
メール表:
Schema::create('email', function (Blueprint $table) {
$table->increments('id');
$table->integer('sender_id')->unsigned();
$table->integer('recipient_id')->unsigned();
$table->string('subject');
$table->text('message');
$table->timestamps();
$table->foreign('sender_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('recipient_id')->references('id')->on('users')->onDelete('cascade');
});
ユーザー表:あなたが1つを提供しない場合
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->bigInteger('usn')->unique();
$table->string('email')->unique();
$table->string('password', 60);
$table->rememberToken();
$table->timestamps();
});
あなたは、私が 'sender_id'と' recipient_id'を見ることができる代わりに、 'email'テーブルで' user_id'を持っていません。 –