Size: a a a

Laravel для начинающих

2020 June 25

VY

Vladimir Yefremov in Laravel для начинающих
UP
никто не хочет помочь?
источник

VY

Vladimir Yefremov in Laravel для начинающих
Переслано от Vladimir Yefremov
Прошу помочь со связями:

есть у меня модели: Author, Book и Category;
связи:
———————
- автор в книгу:
    public function books()
   {
       return $this->belongsToMany('App\Book');
   }

   public function bookCategory()
   {
       return $this->hasManyThrough('App\Category', 'App\Book');
   }

   public function categoryBook()
   {
       return $this->hasManyThrough('App\Book', 'App\Category');
   }
книга к автору:
    public function authors()
   {
       return $this->belongsToMany('App\Author');
   }
————————-
книга с категорией:
    public function category()
   {
       return $this->belongsTo('App\Category');
   }
из категории в книгу:
    public function books()
   {
       return $this->hasMany('App\Book');
   }


мне нужно __для автора__ получить категории, в которых имеются его книги

достаточно ли этих связей или надо что-то добавить?

запрос в контроллере
$bookCategories = $author->bookCategory()->get();
генерит ошибку
Undefined column: 7 ERROR: column categories.book_id does not exist

и такого поля нет и не нужно....

как написать правильный запрос или связь?
чтобы он получил books.category_id и по этому ИД категорию

а на запрос
       $categoryBook = $author->categoryBook()->get();
ошибка
Undefined column: 7 ERROR: column categories.author_id does not exist

т.е. почему-то все-равно ищет ИДшники других моделей в таблице категорий...
источник

L

Loot.jpg in Laravel для начинающих
Vladimir Yefremov
Переслано от Vladimir Yefremov
Прошу помочь со связями:

есть у меня модели: Author, Book и Category;
связи:
———————
- автор в книгу:
    public function books()
   {
       return $this->belongsToMany('App\Book');
   }

   public function bookCategory()
   {
       return $this->hasManyThrough('App\Category', 'App\Book');
   }

   public function categoryBook()
   {
       return $this->hasManyThrough('App\Book', 'App\Category');
   }
книга к автору:
    public function authors()
   {
       return $this->belongsToMany('App\Author');
   }
————————-
книга с категорией:
    public function category()
   {
       return $this->belongsTo('App\Category');
   }
из категории в книгу:
    public function books()
   {
       return $this->hasMany('App\Book');
   }


мне нужно __для автора__ получить категории, в которых имеются его книги

достаточно ли этих связей или надо что-то добавить?

запрос в контроллере
$bookCategories = $author->bookCategory()->get();
генерит ошибку
Undefined column: 7 ERROR: column categories.book_id does not exist

и такого поля нет и не нужно....

как написать правильный запрос или связь?
чтобы он получил books.category_id и по этому ИД категорию

а на запрос
       $categoryBook = $author->categoryBook()->get();
ошибка
Undefined column: 7 ERROR: column categories.author_id does not exist

т.е. почему-то все-равно ищет ИДшники других моделей в таблице категорий...
hasmanythrough ?
источник

AH

Andrey Helldar in Laravel для начинающих
Andrew EmOzEmTsEv
Всем привет. Вопрос наверное больше по git, но в Laravel. Добавил я в гитигнор /public/js/ ,  /public/css/. Но после того как перебилдиваются файлы командой npm run dev, файлы в этих директориях все равно появляются в списке гита как измененные. Подскажите плиз что нужно сделать) Может кеш гита почистить или что-то такое
После того как гитигнор поправил, нужно вручную файлы удалить и сделать коммит.
Только после этого они будут игнорироваться.
Гит устроен так, что если файл есть в репе - ему по-барабану на игнор.
источник

VY

Vladimir Yefremov in Laravel для начинающих
Loot.jpg
hasmanythrough ?
да

в доке нет примеров запросов (как по другим связям)
источник

AH

Andrey Helldar in Laravel для начинающих
Stas
а зачем использовать их вместе ?
has('projects')->with('projects')
has добавляет условие проверки существования связанного релейшена в запрос, а with загружает записи через жадную загрузку
источник

AH

Andrey Helldar in Laravel для начинающих
Shokha ))
с чего может быть такое? загуглил там говорят из за синтаксис ошибка файле .env
composer dumpauto
источник

AH

Andrey Helldar in Laravel для начинающих
Класс не существует.
Влепи composer update
источник

AH

Andrey Helldar in Laravel для начинающих
Vladimir Yefremov
Прошу помочь со связями:

есть у меня модели: Author, Book и Category;
связи:
———————
- автор в книгу:
    public function books()
   {
       return $this->belongsToMany('App\Book');
   }

   public function bookCategory()
   {
       return $this->hasManyThrough('App\Category', 'App\Book');
   }

   public function categoryBook()
   {
       return $this->hasManyThrough('App\Book', 'App\Category');
   }
книга к автору:
    public function authors()
   {
       return $this->belongsToMany('App\Author');
   }
————————-
книга с категорией:
    public function category()
   {
       return $this->belongsTo('App\Category');
   }
из категории в книгу:
    public function books()
   {
       return $this->hasMany('App\Book');
   }


мне нужно __для автора__ получить категории, в которых имеются его книги

достаточно ли этих связей или надо что-то добавить?

запрос в контроллере
$bookCategories = $author->bookCategory()->get();
генерит ошибку
Undefined column: 7 ERROR: column categories.book_id does not exist

и такого поля нет и не нужно....

как написать правильный запрос или связь?
чтобы он получил books.category_id и по этому ИД категорию

а на запрос
       $categoryBook = $author->categoryBook()->get();
ошибка
Undefined column: 7 ERROR: column categories.author_id does not exist

т.е. почему-то все-равно ищет ИДшники других моделей в таблице категорий...
Прям с утра?)
источник

VY

Vladimir Yefremov in Laravel для начинающих
Andrey Helldar
Прям с утра?)
еще с вечера вчера пытаюсь сделать :)
всю ночь над этим думал.... (- задать вопрос в чате)
источник

VY

Vladimir Yefremov in Laravel для начинающих
да и где утро, а где мы? :)
у меня уже солнце высоко (11:35)
источник

AH

Andrey Helldar in Laravel для начинающих
Vladimir Yefremov
да и где утро, а где мы? :)
у меня уже солнце высоко (11:35)
У меня утро - 11:37))
источник

VY

Vladimir Yefremov in Laravel для начинающих
Andrey Helldar
У меня утро - 11:37))
Андрей, помоги плз с этим связями
источник

AH

Andrey Helldar in Laravel для начинающих
И всё что до 15:00 - утро))
источник

ВС

Владислав Субботин... in Laravel для начинающих
Andrey Helldar
И всё что до 15:00 - утро))
У вас лично? )
источник

P

PSYTRGLES in Laravel для начинающих
У всех же
источник

ВС

Владислав Субботин... in Laravel для начинающих
Длинное утро, однако
источник

AH

Andrey Helldar in Laravel для начинающих
Возможно ещё у кого-то тоже)
источник

Д

Діма in Laravel для начинающих
Привет.
Подскажите пожалуйста.
$uniquecustomers = Order::select('email')->groupBy('email')->get();

Мне нужно выбирать только те записи где есть уникальный email
Если беру select() то вытягивает только имейл, а мне нужны все данные.

Может есть какой то простой метод где можно просто из коллекци вытянуть записи только с уникальными имейлами, сохраняя все другие данные.
источник

ВС

Владислав Субботин... in Laravel для начинающих
PSYTRGLES
У всех же
Почему? С 12 часов это уже день
источник