Диего
а как билдер в phpmyadmin запихать ))))
ThunderAL
->toSql()
Kate
Таким образом select product_id, seller_id, count(*) as total from transactions group by product_id
ThunderAL
или через провайдер и dump()
Диего
опанах )
Александр
Привет всем! Нужна помощь сообщества. Может я туплю конкретно и ответ на поверхности, поэтому решил уточнить у сообщества. Есть таблица пользователей, каждому присвоен id. Среди этих пользователей есть админы, которые этих пользователей и добавляют. Для этого у всех пользователей есть поле admin_id, которое и хранит значение id всех этих админов. При чем админы как пользователи хранятся в этой таблице. Вывожу таблицу всех пользователей одним запросом к модели. Получаю все данные. Но вместо id конкретного админа из поля admin_id мне необходимо ввывести его имя. Сейчас это выводится вот так
Александр
foreach ( $users as $useritem ) { $admin_name = User::where('id', $useritem->admin_id)->value('name'); $item = [ 'name' => $useritem->name, 'id' => $useritem->id, 'created_at' => $useritem->created_at, 'deleted_at' => $useritem->deleted_at, 'roles' => $useritem->roles, 'admin_name' => $admin_name, ]; array_push( $usersinfo, $item ); }
Александр
Но при таком способе на каждого юзера формируется отдельный запрос к базе данных. В связи с чем вопрос, как убрать этот запрос к базе данных по каждому пользователю? И сильно ли большое количество запросов повлияет на быстродействие, т.к запросы тянут минимум информации из бд, по сути одно имя...
Диего
belongsTo чета-там
Toss
https://secure.php.net/manual/en/index.php
Это серьезно или тут тоже любители сарказма собрались?
Александр
belongsTo чета-там
так это, если я правильно понимаю, чтобы связать разные таблицы, а у меня все в рамках одной таблицы users
Диего
я до orm тут еще не дошел, не знаю )
Диего
а что мешает таблице ссылаться на саму себя?
Vadim
Привет всем. Подскажите почему иногда выбивает MethodNotAllowedHttpException при переходе на /logout? С некоторых страниц работает, а с некоторых беда
Диего
орм выполняется одним запросом вообще с этими белонгс и хэз?
Диего
а вообще сделай вторую модель для админа и укажи там таблицу users
Диего
а че смайл забанен 😂😂😂😂😂
Antonio
Для начала вопрос, зачем второй id? Или это типа то добавил?
Диего
типада
Александр
Для начала вопрос, зачем второй id? Или это типа то добавил?
Да, id самого пользователя и admin_id это id админа, который добавил пользователя
Antonio
public function admin() { return $this->belongsTo(User::class, 'admin_id', 'id'); }
Диего
я орм вообще не втыкаю если честно
Диего
работал года два назад с ним
Antonio
Если потом получать User::with('admin')->get() то кажется одним
Диего
в последний раз
Antonio
я не заморачиваюсь пока где склько запросов
Диего
если проект не нагруженный то не надо
Antonio
https://laravel.com/docs/5.5/eloquent-relationships#eager-loading
Antonio
вот начиная отсюда почитай
Диего
короче два
Диего
это лучше чем +1 на каждого юзера
Диего
Александр
короче два
да, реально сокращается всего до двух запросов
Toss
Есть что в замену phpmyadmin?
Диего
pgadmin и постгрескуэль)
Anonymous
)))
Anonymous
если голова не варит
Archakov
Подскажите, почему долго грузится запрос, при вызове
Archakov
public function getRelatedPostsAttribute() { $posts = Category::find($this->category_id)->posts()->get(); return $posts; }
Archakov
когда деаю просто dd($posts); все ок
Archakov
это свзяанно с тем, что мутатор на каждую запись посылает запрос? Я получаю одну запись и указываю, чтобы выдал мне свойство с записями из той же категории
Диего
почему вообще не with('relatedPosts')
Диего
туплю, ты получаешь одну запись
Rustam
Пропиши чтобы отображался сырой запрос
Rustam
И посмотрим че он там делает
Youri
Есть что в замену phpmyadmin?
тебе надо в пхп чат какой нить, или в гугл
Youri
при исследовании любого вопроса лучше вообще начать с wikipedia, https://ru.wikipedia.org/wiki/PhpMyAdmin
ThunderAL
Есть что в замену phpmyadmin?
adminer. он вообще в один файл
ThunderAL
public function getRelatedPostsAttribute() { $posts = Category::find($this->category_id)->posts()->get(); return $posts; }
разбей на 2 метода category(){$this->has(Many|One)(Category::class, 'id', 'category_id')} и в мутаторе return $this->category->posts при запросе модели впили туда ->with('category.posts') тогда оно всё в одном сделает
ThunderAL
+ я мог ошибиться с ключами в hasMany/One
ThunderAL
(или там вообще надо было belongsTo. я хз. я те дам идею)
ThunderAL
+ если надо сразу грузить всё — юзай поле $appends
ThunderAL
ПАСАНЫ!! ХАЛП!!! есть домен на cloudflare. надо к нему подцепить мыло. есть yandex pdd. как это быстро соединить. оч нада!!!
ThunderAL
с клауда домен делигировать не самый хороший вариант
ThunderAL
@JesterAntik у тебя есть оные на примете?
ThunderAL
и у меня нет. поэтому сюда и написал перед тем как создавать тред на тостере
Antonio
public function getRelatedPostsAttribute() { $posts = Category::find($this->category_id)->posts()->get(); return $posts; }
Ну и ещё, зачем дергать сначала категорию, а потом посты к ней? Можно сразу сделать Post::where("category_id",$this->category_id)->get()
Samat
а можно ли сделать так, чтобы, например, по запросу User::with('table3') в User поступала коллекция отфильтрованная? какой метод в модели/контроллере User отвечает за выдачу всех данных этой таблицы в базе?
Antonio
Ну и ещё, зачем дергать сначала категорию, а потом посты к ней? Можно сразу сделать Post::where("category_id",$this->category_id)->get()
Кстати, а вот такую связь тоже ведь можно внести в релешн? Типа $this->belongsToMany(Post::class,'category_id','category_id')
Antonio
Или я не понял что ты хочешь и тебе надо фильтровать пользователей по какому-то признаку?
Samat
мне надо внутри метода, который выдает список юзеров по запросу User отфильтровать как-то, чтобы выходили только те, кто соответствуют определенному признаку
Samat
а потом присоединить к этому списку таблицу
Samat
методом with
Antonio
методом with
Этот метод присоединяет relation(связь)
Antonio
Сейчас с телефона ссылку на документацию не дам, сори
Samat
ну, да, суть в том, что нужен именно with. я бы в нужном месте отфильтровал список, но с массивом $users такого не сделаешь ведь
Antonio
Раздел eloquent
Samat
нет