I表を以下た:3つのテーブルの間のLaravelの関係?
- ユーザ(古典laravelテーブル)
- イベント
- user_events user_eventsで
Iイベントに割り当てられたユーザーを挿入し、テーブル構造がそうである。
Schema::create('user_events', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('cascade');
$table->integer('event_id')->unsigned();
$table->foreign('event_id')->references('id')->on('events')->onUpdate('cascade')->onDelete('cascade');
$table->timestamps();
});
自分のイベントで認証ユーザー用のページを作成したいとします。
私はモデルのユーザーに次の関係を使用するidを取得するには:
public function userEvents() {
return $this->hasMany('App\Models\UserEvent');
}
Troughtコントローラを、私は、イベントIDのリストを取得します。
私の以前のソースは以下のとおりです。 Laravel relation between 3 models
Laravel 5 relation between 3 tables
Laravel Eloquent Relation between 3 table
私の質問があり、このイベントIDのイベント名throught得るために行うためにここに何ですか? $user->userEvents
によって返されたコレクションから
:次に、あなたのコントローラで、によって認証されたユーザのすべてのイベントを取得
:だから
User
モデルでは、あなたの関係のように見えます私も持っていましたシンタックスエラー、EventUserの代わりにUserEventがありましたが、この変更がすべてうまくいきました:)、ありがとう – nowilius