Хорошо, основаны на Laravel Model Relationship .
Сначала необходимо создать migration
.
Vihicle Migration
Schema::create('vehicles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->unsignedBigInteger('category_id');
$table->unsignedBigInteger('vehicle_maker_id');
$table->string('name');
$table->double('price', 8 , 2);
$table->year('manufacture_year');
$table->bigInteger('mileage');
$table->string('vehicle_image');
$table->boolean('admin_verification')->nullable();
$table->timestamps();
});
Я использовал unisignedBigInteger
, чтобы определить, что это внешний ключ, или вы также можете использовать index()
.
В вашей модели вы должны указать, какое судно отношений вы будете использовать. ,В вашем случае я предположил, что вы используете Отношение один ко многим . Чтобы ваша пользовательская модель выглядела следующим образом:
Пользовательская модель
...
public function vehicles() {
return $this->hasMany(Vehicle::class);
}
Чтобы вы могли использовать соглашение auth()->user()->vehicles;
.
Примечание: auth()->user()->vehicles;
возвращает array of object
, вы можете зациклить его в foreach
.
Модель автомобиля
public function user() {
return $this->belongsTo(User::class);
}
Если у вас есть это в вашей модели, вы можете использовать его в двух направлениях.
В вашем контроллере вы можете вызвать отношения этих 2.
Контроллер
$vehicles = auth()->user()->vehicles;
dd($vehicles);
INFO
Вы также можете обратиться к этому учебнику .
РЕДАКТИРОВАТЬ
Контроллер
$vehicles = auth()->user()->vehicles();
foreach($vehicles as $vehicle) {
dd($vehicle->VehicleMaker);
}
Примечание: $vehicles
возвращает массив объектов. Таким образом, вы можете выполнить цикл через foreach loop
, чтобы выбросить один экземпляр.