у меня есть три таблицы: статьи, изображения и article_images
я хочу вывести $ article-> file
это было очень просто в laravel 5.0
$ article-> article_images-> файл;
Но теперь они удалили эту функцию, также я использую вывод с vuejs.
статьи
id - целое число
name - строка
article_images
id - целое число
article_id - целое число
image_id - целое число
картинки
id - целое число
файл - строка






Вам необходимо определить связь между article и article_images
public functon images() {
return $this->belongsTo('...\ArticleImage');
}
После этого вы можете вернуть товар с указанием
return Article::find($id)->with('images');
Пожалуйста, попробуйте это и дайте мне знать, как это работает :)
Сначала вы должны добавить отношения в ур модели, Итак, в этом случае у вас есть статья с множеством изображений, и одно изображение принадлежит многим статьям, поэтому вам следует удалить article_images и добавить эти функции в модели ur (статья и изображения).
// In Article model
public function Images()
{
return $this->belongsToMany('App\Image');
}
// In Images model
public function Article()
{
return $this->belongsToMany('App\Article');
}
После этого вы можете использовать приведенный ниже код для получения всех изображений для выбранной статьи. например:
$images = Article::first()->images();
НЕ: HasManyThrough
НО: принадлежитToMany
Решил проблему!
Прочтите следующий код:
class Article extends Model
{
public function images()
{
return $this->belongsToMany('App\Image','article_images','image_id','article_id');
}
}
Вы читали Документация? Там все хорошо объяснено.