Я не могу понять, как нетерпеливая загрузка работает со следующим примером. Это моя текущая БД с двумя таблицами: Quotes: где хранится общая информация и QuotesDetails: где хранится информация о каждой цитате в Quotes.
В моделях у меня есть следующие структуры:
Кавычки. php
class Quotes extends Model
{
public function quotesdetails()
{
return $this->hasMany('App\QuotesDetails', 'quoteid', 'id');
}
}
и QuotesDetails. php со следующей моделью:
class QuotesDetails extends Model
{
public function quotes()
{
return $this->belongsTo('App\Quotes', 'id', 'quoteid');
}
}
Я использовал hasMany (в кавычках), потому что каждая цитата может иметь / отображать 3-4 кавычки.
В моем контроллере я использую следующий запрос:
$returnquotes = Quotes::with('quotesdetails')->where('id', '=', $quoteid)->get();
На мой взгляд, я использую следующее структура:
@foreach ($returnquotes as $quotes)
{{$quotes->shipcity }}
{{$quotes->quotesdetails->service_code }}
@endforeach
shipcity отображает информацию без проблем, но service_code не отображается и выдает ошибку.
Честно говоря, я верю, что это работает с этой схемой, но я не могу понять, почему не работает. Мои мысли:
в контроллере: используя "with ('quotesdetails')" в контроллере, он должен установить sh отношение, которое появляется в кавычках. php with name -> quotedetails что есть несколько реестров, связанных с QuotesDetails. php
в представлении: при использовании "$ quotes-> quotesdetails-> service_code" необходимо получить код service_code, связанный с таблицей кавычек (я использую foreach, потому что quotesdetails может иметь несколько реестров на одну цитату)
в модели: я использую "hasMany" для цитат. php, потому что зависимой таблицей является QuotesDetails и "ownTo" в QuotesDetails. php по обратной причине.
любая помощь, чтобы понять логи c активной загрузки с eloquent и laravel приветствуется.