В моей модели Dispatch есть поле invoice_id.
Это внешний ключ, поэтому я могу получить детали счета, используя следующий код:
protected $fillable = [
'id',
'truck_no',
'driver_name',
'driver_phone',
'gps_details',
'invoice_id',
];
public function invoice(){
return $this->belongsTo('App\Invoice')->select('id','invoice_no','permit_id');
}
Теперь я хочу получить значение allow_id из invoice (), чтобы я мог использовать его для получения сведений о разрешении.
allow_id = идентификатор модели разрешения
Поэтому я использую приведенный ниже код для получения разрешительных данных.
public function permit(){
return $this->hasOne('App\Permit','id',$this->invoice()->permit_id);
}
Обновление:
У моей модели счета-фактуры:
class Invoice extends Model
{
protected $fillable = [
'id',
'invoice_no',
'invoice_date',
'permit_id',
];
public function permit(){
return $this->hasOne('App\Permit', 'id', 'permit_id');
}
}
Модель моего разрешения:
class Permit extends Model
{
protected $fillable = [
'permit_type',
'permit_no',
'application_no',
'supply_unit',
'supply_unit_id' ,
];
public function supplyunit(){
return $this->hasOne('App\SupplyUnit','id','supply_unit_id');
}
}
И согласно предложениям я добавил ниже код в моей модели отправки:
class Dispatch extends Model
{
protected $fillable = [
'id',
'truck_no',
'driver_name',
'driver_phone',
'gps_details',
'invoice_id',
];
public function invoice(){
return $this->hasOne('App\Invoice','id','invoice_id');
}
public function permit(){
return $this->hasOne('App\Permit','id','permit_id');
}
}
Но это не работает. Что я должен сделать, чтобы достичь вышеизложенного? Есть ли другие решения, пожалуйста, предложите.