2016-11-23 21 views
0

所以我有这个口才查询得到物品“与”雄辩查询和显示刀片

$categories = categories::all(); 
foreach($categories as $c): 
    $c->items = item_categories::where('cat_id',$c->cat_id)->with('item')->with('item.item_images')->get(); 
endforeach; 

,并在我的刀,我也喜欢做

显示这部分

with('item') 

@foreach($categories as $c) 
    @foreach($c->items as $i) 
     {{ $i->item->item_name }} 
    @endforeach 
@endforeach 

如何从这部分检索数据?

with('item.item_images') 

我试图

@foreach($categories as $c) 
    @foreach($c->items as $i) 
     {{ $i->item->item->item_images->image_name }} 
    @endforeach 
@endforeach 

,但它给了我错误

试图让非对象

任何想法的财产,帮助吗?

这里的 '类别' 的模式

class categories extends Model 
{ 
    protected $table = 'categories'; 
    protected $primaryKey = 'cat_id'; 

    public function item_category(){ 
     return $this->belongsTo('App\item_categories','cat_id','cat_id'); 
    } 

} 

和 'item_categories' 模式

class item_categories extends Model{ 

    protected $table = "item_categories"; 

    public function item(){ 
     return $this->belongsTo('App\items','item_id','item_id'); 
    } 
    public function category(){ 
     return $this->hasOne('App\categories','cat_id','cat_id'); 
    } 
} 

和 '项目' 模式

class items extends Model 
{ 
    protected $table = 'items'; 
    protected $primaryKey = 'item_id'; 

    public function item_images(){ 
     return $this->hasMany('App\item_images','item_id','item_id'); 
    } 
    public function item_categories(){ 
     return $this->hasMany('App\item_categories','item_id','item_id'); 
    } 
} 
+0

请提供乌尔型号代码,所以我们可以理解模型 –

+0

之间的关系基本请看我更新的帖子之前。 –

回答

0

你会太深。它看起来像item_categories有一个项目,它有一个item_image,所以你只需要访问它是这样的:

{{ $i->item->item_images->image_name }} 

因为每个项目都有很多item_images,你需要通过它进行迭代。

@foreach($i->item->item_images as $image) 
    {{$image->image_name}} 
@endforeach 
+0

尝试但同样的错误不幸 –

+0

我试过“{{$ i-> item-> item_images-> image_name?'yes':$ i-> item-> item_images-> image_name}}”但同样的错误,但如果我这个“{{$ i-> item-> item_images}}”它给我提供了一个集合,它表明它上面有一个'image_name'“[{”id“:5,”image_name“:”[x] sd。 jpg“,”image_type“:”jpg“,”created_at“:”2016-11-15 02:41:54“,”updated_at“:”2016-11-15 02:41:54“}]”。有任何想法吗? –

+0

如果'item_images'是一个集合,那么你需要遍历它。我可以用它更新代码。 – aynber

0

我的猜测是你的代码没问题,但是item没有item_image。尝试检查,如果检查是否$ I->用品 - >用品 - > item_images为空试图使用值

+0

我尝试 “{{$ I->用品 - > item_images-> IMAGE_NAME '是'?$ I->用品 - > item_images-> IMAGE_NAME}}”,但同样的错误,但如果我这样做 “{{$ I->用品 - > item_images}}” 这给了我这表明,有一个 'IMAGE_NAME' 就可以了集合 “[{” ID “:5,” IMAGE_NAME “:”[X ] sd.jpg“,”image_type“:”jpg“,”created_at“:”2016-11-15 02:41:54“,”updated_at“:”2016-11-15 02:41:54“}]” 。有任何想法吗? –