我有3张桌子
我正在尝试使用ORM从项目中检索标签
$itemTags = Item::find($itemID)->tags;
返回object(Illuminate\Database\Eloquent\Collection)#203 (1) { ["items":protected]=> array(0) { } }
如果我添加()
$itemTags = Item::find($itemID)->tags();
我得到一长串的东西。
如何获取与此项目相关的标记?
模型标签
<?php
class Tag extends Eloquent {
protected $fillable = array('tag');
public function item()
{
return $this->belongsToMany('Item');
}
}
模型项
<?php
class Item extends Eloquent {
protected $fillable = array('title', 'price','user_id');
public function tags()
{
return $this->belongsToMany('Tag');
}
}
答案 0 :(得分:0)
“长篇大论”只是关系对象。你不需要那个。
$itemTags = Item::find($itemID)->tags;
就足够了
如果返回object(Illuminate\Database\Eloquent\Collection)#203 (1) { ["items":protected]=> array(0) { } }
,则表示您拥有0个对象的Eloquent Collection。换句话说,这种关系很好,只有没有标签(还)。
答案 1 :(得分:0)
我认为你需要首先加急关系数据。
$item = Item::with('tags')->find($itemID);
$tags = $item->tags;