Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何从第三个关系表中获得所有相关行?_Laravel_Laravel 4_Eloquent_Laravel 5 - Fatal编程技术网

Laravel 如何从第三个关系表中获得所有相关行?

Laravel 如何从第三个关系表中获得所有相关行?,laravel,laravel-4,eloquent,laravel-5,Laravel,Laravel 4,Eloquent,Laravel 5,我有三张表,体验,图像和体验_图像 在experience\u images中,我有两列,experience\u id和image\u id。此表可以容纳一次体验的多个图像,如下所示: "experience_id","image_id" "6","31" "6","32" "6","33" "6","34" 现在,我如何通过运行Experience::find(6)->images,从我的Experience模型中获取images的集合?您必须在雄辩的模型中建立关系 class Exper

我有三张表,
体验
图像
体验_图像

experience\u images
中,我有两列,
experience\u id
image\u id
。此表可以容纳一次体验的多个图像,如下所示:

"experience_id","image_id"
"6","31"
"6","32"
"6","33"
"6","34"

现在,我如何通过运行
Experience::find(6)->images
,从我的
Experience
模型中获取
images
的集合?

您必须在雄辩的模型中建立关系

class Experience extends Eloquent {
    public function images(){
        return $this->belongsToMany('Image', 'experience_images', 'experience_id', 'image_id');
    }
}

您必须在参数表find()中添加一个id。在本例中为6:

$exp = Experience::find(6);

foreach($exp->images as $e){

       return $e->somedata;

}

@这些隐式外键真的有必要吗?通常你可以离开它们,按照惯例,它采用小写的model name+“\u id”,在我的例子中,这是因为我的两个模型都被命名为
model
,但我猜它可能被跳过,因为你的例子中的模型被命名为
Experience
Image
。如果愿意,您可以还原我的编辑。啊,好的,我假设您有传统的模型名称,我将其命名为
App\Models\Experience\model
:-)