Laravel雄辩的关系没有从相关表中检索数据

时间:2018-06-24 13:36:33

标签: php laravel eloquent

IV具有一个简单的“ publications”表和“ Languages”表,如下所示。我要做的就是输出与出版物关联的“可用语言”。 iv尝试过这样的关系,这样就不会正确

Publications Table

Languages Table

控制器:

public function index()
{

    $publications = Publication::all();

    $languages = Language::all();

    return view('admin/publications/index', compact('publications', 'languages'));

}

出版物模型关系:

public function languages(){

    return $this->hasMany('App\Language');

}

Publications Page

请帮助!

2 个答案:

答案 0 :(得分:0)

使用with来包含关系:

public function index()
{
    $publications = Publication::with('languages')->get();

    return view('admin/publications/index', compact('publications'));
}

这使您可以随后访问相关模型,例如:

foreach ($publication->languages as $language) {
    echo $language->myAttribute;
}

答案 1 :(得分:0)

要访问某人,您可以使用<rule> <id location="http://livelink" /> <action permission="run" version="1.6*" /> </rule> <rule> <id location="http://livelink.network.lan" /> <action permission="run" version="1.6*" /> </rule> <rule> <id location="http://ecmprdautovue/ivue" /> <action permission="run" version="1.8*" /> </rule> <rule> <id location="http://ecmprdautovue.network.lan/ivue" /> <action permission="run" version="1.8*" /> </rule> ,例如

with

然后只需在控制器中执行

//In your publications model add
function languages(){
    return $this->hasMany('App\Languages','languages')//where languages is the foreing key.
}

这样$publications = Publication::with('languages')->get(); 将在$publications属性中包含所有相关语言