2016-04-02 12 views
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(); 
}); 
+0

あなたは、私が 'sender_id'と' recipient_id'を見ることができる代わりに、 'email'テーブルで' user_id'を持っていません。 –

答えて

関連する問題