У меня следующая структура БД:
- Таблица Транспортные средства : id, car_id, plane_id
- Таблица Автомобили : id, модель ...
- Таблица Самолеты : идентификатор, модель ...
Когда новая запись добавляется в таблицу Транспортные средства , если это Car , будет установлен car_id , а plane_id останется пустым, и наоборот, Я знаю, что это плохая структура , но она унаследована, и я не могу ее изменить.
Поэтому я хочу определить отношение в модели транспортного средства, где оно может извлечь объект Car или объект Plane в соответствии с тем, какой ключ пусто, car_id или plane_id . И между прочим, я уже определил две взаимосвязи, которые будут извлекать объект Car и объект Plane отдельно.
public function carVehicle()
{
return $this->belongsTo(Car::class, 'car_id');
}
public function planeVehicle()
{
return $this->belongsTo(Plane::class, 'plane_id');
}