Позвольте мне сначала объяснить отношения моего стола, а затем я объясню, что я не могу сделать.Я не могу сделать некоторые отношения «Жестокие отношения» к работе
Итак, у меня есть объект под названием "Компания" она имеет много "Доходы", который имеет много "IncomeUnitSale", который имеет одну "IncomeUnitSaleUnitPrice"
Company 1->* Income 1->* IncomeUnitSale 1->1 IncomeUnitSaleUnitPrice
Модели:
Компания Модель
public function Income(){
return $this->hasMany('App\Income');
}
доход Модель (таблица имеет "company_id")
public function Company(){
return $this->belongsTo('App\Company');
}
public function IncomeUnitSale(){
return $this->hasMany('App\IncomeUnitSale');
}
IncomeUnitSale Модель (таблица имеет "income_id")
public function Income(){
return $this->belongsTo('App\Income');
}
public function IncomeUnitSaleUnitPrice(){
return $this->hasOne('App\IncomeUnitSaleUnitPrice');
}
IncomeUnitSaleUnitPrice (таблица имеет "income_unit_sale_id")
public function IncomeUnitSale(){
return $this->belongsTo('App\IncomeUnitSale');
}
То, что я пытаюсь сделать, это следующее:
$company = Company::where("id","=",1)->first();
$company->Income->IncomeUnitSale->IncomeUnitSaleUnitPrice
Но он говорит, что его значение null, оно работает до $company->Income->IncomeUnitSale
, но после этого не должно быть никакого отношения.
Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно?
Спасибо!
Спасибо! Честно говоря, было бы лучше «$ company-> Income-> IncomeUnitSale-> IncomeUnitSaleUnitPrice'. Но это сработало и хорошо, спасибо! – mkmnstr
@mkmnstr Если ваша компания имеет многократные доходы, и каждый доход имеет несколько продажных цен на акции, в какой записи вы ожидаете возвращения '$ company-> Income-> IncomeUnitSale-> IncomeUnitSaleUnitPrice'? – patricus
Совершенно верно. Я не знаю, что я думал xD Спасибо! – mkmnstr