我有两个具有多态关系的模型,一个名为 Article ,另一个名为 Image 。我发布了一个Image id的数组,以便更新数据集。据我所知,Eloquent
没有用于多态关系的 sync()方法,在使用时可以使用 sync()透视表。
$article = new Article();
foreach (Input::file('images') as $file) {
$image = new Image();
$image->file_name = $file-> getClientOriginalName();
$article->images()->save($image);
}
更新的存根代码:
$article = Article::findOrFail($id);
$ids = Input::get('images'); // array('1', '3', ...);
$article_image_ids = $article->images()->lists('id'); // array('1','2','3', …);
如何保存已发布的ID并确保文章图像数据得到更新?
答案 0 :(得分:1)
我对你要找的东西感到有点困惑,但你可以做同样的事情来同步。
// This will take care of the deletion of images already in place for said article.
Image::where('imageable_type', 'Article')->where('imageable_id', $article_id)->delete();
// This will insert the desired records back
$article = Article::find($article_id)
foreach($ids as $image_id) {
$image = Image::find($image_id):
$article->images()->save($image);
}