HasManyThrough Eloquent Relationship, Laravel 5.6, 5.7

у меня есть три таблицы: статьи, изображения и article_images

я хочу вывести $ article-> file

это было очень просто в laravel 5.0

$ article-> article_images-> файл;

Но теперь они удалили эту функцию, также я использую вывод с vuejs.

статьи

id - целое число

name - строка

article_images

id - целое число

article_id - целое число

image_id - целое число

картинки

id - целое число

файл - строка

Вы читали Документация? Там все хорошо объяснено.

pellul 28.12.2018 02:09
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
118
3

Ответы 3

Вам необходимо определить связь между 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');
        }

    }

Другие вопросы по теме