あなたのモデルでこのような何かをすることによって、複数の車両や複数のイベントに車でイベントを関連付けることができます(テストしていません):
Vehicle.php
<?php
namespace App;
use App\Event;
use Illuminate\Database\Eloquent\Model;
class Vehicle extends Model
{
...
/**
* Get the events that this vehicle belongs to.
*
* @return \App\Event
*/
public function events()
{
return $this->belongsToMany(Event::class, 'vehicle_event');
}
}
イベント。 PHP
<?php
namespace App;
use App\Vehicle;
use Illuminate\Database\Eloquent\Model;
class Event extends Model
{
...
/**
* Get the vehicles that this event has.
*
* @return \App\Vehicle
*/
public function events()
{
return $this->hasMany(Vehicle::class, 'vehicle_event');
}
}
また、ピボットテーブル:
...
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('vehicle_event', function(Blueprint $table)
{
$table->integer('vehicle_id')->unsigned()->index();
$table->foreign('vehicle_id')->references('id')->on('vehicles');
$table->integer('event_id')->unsigned()->index();
$table->foreign('event_id')->references('id')->on('events');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('vehicle_event');
}
...
その後、あなたは、イベントまたはその逆で車を関連付けるためにattach()
とdetach()
を使用することができます。
ピボットテーブルを別のテーブルと組み合わせることは可能でしょうか?たとえば、私はもっと一般的な情報を持つテーブルを持っています。 – JoshuaJohnson2896
'$ this-> hasMany(Vehicle :: class) - > withPivot( 'column1'、 'column2');' $ model->でアクセスできる他のフィールドをピボットテーブルに追加することができます。ピボット - >カラム1 ' – Winter
ありがとう、それは私が知りたかったものです – JoshuaJohnson2896