我是laravel和php的新手,我很難理解'關係'。(Laravel4)試圖打印出標籤
我想添加標籤到我的數據庫中的每個教程(這可能只是被視爲職位)。
當我嘗試打印出1個教程的所有標籤時,我只得到一個標籤,而我有2個標籤已分配給它。
控制器:
public function index()
{
$tags = Tutorial::where('id', '=', 1)->first()->tags()->get();
//$tags = $tutorial->tags()->get();
return View::make('home', array(
'tags' => $tags
));
}
教程模式:
class Tutorial extends Eloquent {
protected $table = 'tutorials';
public function tags() {
return $this->belongsToMany('Tag', 'tutorials_tags', 'tag_id');
}
}
標籤型號:
class Tag extends Eloquent {
protected $table = 'tags';
public function Tutorials() {
return $this->belongsToMany('Tutorial', 'tutorials_tags', 'tutorial_id');
}
}
查看:
@foreach($tags as $tags)
{{$tags->name}}
@endforeach
我的數據庫看起來是這樣的:
不,它仍然只打印一個標籤,而我有2個標籤分配。 : - \ Thanks tho – Dieter91
試試'$ this-> belongsToMany('Tag','tutorials_tags','tutorial_id');'或'$ this-> belongsToMany('Tag','tutorials_tags','tutorial_id','tag_id ');'在你的Tutorial :: tags()中。這就是http://laravel.com/docs/eloquent#many-to-many似乎暗示的。 – Unnawut
大聲笑,那些都工作。我仍然不知道我在做什麼xD 謝謝 – Dieter91