Laravel Eloquent Relations:一次保存两个外键

时间:2015-05-14 19:24:27

标签: laravel foreign-keys eloquent relationship

我有一个资源和一个帖子模型。资源可以是图像(图像的地址)或文本。 posts表中的条目是关联资源模型中的两个条目。enter image description here

因此,posts使用两个外键,两者都引用resources.id列。 我找到了this related SO post,但它没有说明如何在不获取外键完整性约束的情况下对该属性进行预设。

这些是我迄今为止所尝试的无济于事:

        //$post->resources($image);//Doesn't add image_id
        //$post->resources($text);//or text_id, doesn't work, no type-hinting

        //$image->post()->associate($post);//tries to save into resources
        //$text->post()->associate($post);//and not post

        //$post->resources()->push($image);// push is just like save
        //$post->resources()->push($text);// only it will save the updated
        //$post->push($text);// relations as well

我已经知道上面的代码/尝试的问题;他们只是我们。

令人沮丧的是$post->image()->save($image)将尝试插入资源表而不是posts表。此外,反之,$image->post()->save($image)缺少text_id。

我也尝试过:$post->saveMany(['text'=>$text,'image'=>$image]);它并没有做任何事情。

如果您需要更多详细信息,请发表评论。 附:我没有足够的积分在SO的相关帖子评论中提出任何问题,否则我不会开始提出新问题。

0 个答案:

没有答案