Максим
Евгений
Посмотри что выводит $content->published_at->format('d.m.Y'),
Владимир
Народ, есть ли в ларе возможность при создании запроса в from передать другой запрос?
Vladyslav
У меня тоже вопрос: Есть таблица files, в которой полиморфные связи с другими таблицами, products например, и связь один ко многим с таблицей images. При удалении $product->delete() у меня удаляется связанный файл в files и связанные с записью files записи в images, все работает правильно. При этом я пытаюсь удалять файлы переопределением методов delete() в соответствующих моделях. Но тут файлы не удаляются. Т.е. при удалении связей, скорее всего, отрабатывает не delete(), а какой-то другой метод. Подскажите, как это правильно сделать? На данный момент решил вот таким костылем: public function delete() { foreach($this->files()->get() as $file){ $file->delete(); } return parent::delete(); }
Владимир
Тобиш $query1 = Model::where('id', 2) $query2 = DB::from($query2)->select('count(*)')
Андрей
Посмотри что выводит $content->published_at->format('d.m.Y'),
я вот такой ловлю если формат добавить Call to a member function format() on string
Евгений
Значит у тебя не карбон у паблишд эт
Maksim (Ellrion)
да я уже всё подряд просто перебираю)
фу тиким быть. больше всего ненавижу метод тыка и программирование заклинаниями. гори в аду)
Vladyslav
invariance
в чем профит граспа и есть ли примеры его практического применения ?
Например когда ты юзаешь DI - это пример использования граспа. Выводы делай сам
invariance
и?
invariance
мне тебе на каждый из 9 пример дать?)
Maksim (Ellrion)
Добрый день, прошу помощи по использованию RAM Есть get запрос который ищет информацию в бд (postgres) и возвращает результат При попытке нагрузочного тестирования выяснилось что память растет пропорционально росту количества запросов, но не очищается сразу после окончания нагрузки, освобождение до начального состояния происходит через 2ч (красная линия на графике) С чем это может быть связано?
вот это реально интересный вопрос. но скорее всего это связано с тем как собирался этот график. и с понятиями Rss и Pss. тоесть там показана и разделяемая память. и это поведение нормальное и о нем не нужно волноваться. но я не админ так что могу ошибаться. можешь почитать вот эту статью https://www.depesz.com/2012/06/09/how-much-ram-is-postgresql-using/
Maksim (Ellrion)
если найдешь больше инфы и более корректный ответ на свой вопрос то буду благодарен если напишешь сюда, будет интересно
Vitalii
Парни, как во время дебагинга кастомный код в шторме выполнить?
Максим
Парни, как во время дебагинга кастомный код в шторме выполнить?
там есть кнопочка) туда тыкаешь и вводишь код
Vitalii
ага, нашел, спасибо))
Maksim (Ellrion)
Максим
А запросы к бд никуда не логируются по-умолчанию?
Maksim (Ellrion)
А запросы к бд никуда не логируются по-умолчанию?
нет, там отдельно надо настраивать
Алексей
Ребят, вопрос по коллекциям и их синхронизации. Есть договор, я читаю его товарные позиции в коллекцию. Потом меняю состав договора (добавляю в него новые товары, меняю количество уже существующих) . После этого меняется и коллекция, которую я явным образом никак не обновлял. Вопрос: она что, синхронизируется автоматически?
Андрей
Значит у тебя не карбон у паблишд эт
благодарю, не добавил это поле в $dates модели, вот и не карбон вышел)
Алексей
Всем привет
Pandaren
Подскажите, плиз. Есть модель Product(id, title) с отношением characteristics() к модели ProductCharacteristics(id,product_id,rating,category) хочу сделать список самых популярных товаров определенной категории пишу запрос: return Product::whereHas('characteristics', function($q){ $q->where('category', 'Category name'); }); Выдает все товары из этой категории, все правильно. Теперь дописываю: return Product::whereHas('characteristics', function($q){ $q->where('category', 'Category name') ->orderBy('rating', 'desc'); }); ` И вот теперь orderBy просто игнорируется. Не сортирует от слова совсем. orderBy если что у меня в бд double вот код релейшна: class Product { public function characteristics() { return $this->hasOne('App\Models\ProductCharacteristics', 'product_id', 'id'); } }
Евгений
почему hasOne?
Айбек
тебе надо отсортировать продукты же? whereHas не сортирует парент-модель
Айбек
и да, название модели в ед. числе, а так же как заметили, почему hasOne и название релейшна в мн. числе
Pandaren
потому что ProductCharacteristics это одна запись в бд
Евгений
у продукта одна характеристика только может быть?
Pandaren
1 строка характеристик, да
Евгений
ок
Pandaren
там идет что-то в стиле: автор, контактный эмейл автора, ссылка на ютуб если есть и тд и тд, рейтинг там
Айбек
https://gist.github.com/Ellrion/5d873fc8acf4d18464e65595c84bc374 вот тут есть скоуп сортировка по отношению
Айбек
по идее, раз все равно join нужен лучше не использовать whereHas, не использовать скоуп. один раз заджойнить и там же делать нужные тебе выборки, сортировку
Айбек
->join(......) ->where('join_table.category', $category_name) ->orderBy('join_table.rating', 'asc') ->get();
Pandaren
у меня через джойн сейчас, да
Pandaren
но через джойн уже конкретно хреново работает у меня
Айбек
что значит хреново работает?
Pandaren
например не хочет дальше подтягиваться релейшн еще один, хотя вообще странно
Владимир
привет, подскажите пакет для laravel что бы организовать мультиязычность, урлы типа /ru/test /en/test и таблицы пример category category_translate (тут будут все переводы) заранее спасибо
Leonid
Может кто объяснить, почему это работает: return $model->whereRaw("notes.id in ( select notes1.id from notes as notes1 left join notes as notes2 on notes1.category_id = notes2.category_id and notes1.created_at > notes2.created_at where notes2.id is null)"); А это - нет: $notes = 'notes'; $notesAlias1 = 'notes1'; $notesAlias2 = 'notes2'; return $model->whereIn($notes . '.id', function($query) use ($notes, $notesAlias1, $notesAlias2) { $query->select($notesAlias1 . '.id') ->from($notes . ' as ' . $notesAlias1) ->leftJoin($notes . ' as ' . $notesAlias2 , function($query) use ($notesAlias1, $notesAlias2) { return $query->on($notesAlias1 . '.category_id', '=' , $notesAlias2 . '.category_id') ->where($notesAlias1 . '.created_at', '>' , $notesAlias2 . '.created_at'); }) ->whereNull($notesAlias2 . '.id'); }); Это при том, что в первый вариант запроса я вставил то, что мне сгенерировал второй вариант. У второго варианта не вылезает ошибки, просто он возвращает все айдишники, то есть не фильтрует ничего. Если это может как-то влиять, сам код является критерием для https://github.com/andersao/l5-repository
По данному вопросу есть у кого идеи?
Айбек
первый вариант работает как нужно, читается легко. зачем второй вариант?)
Leonid
первый вариант работает как нужно, читается легко. зачем второй вариант?)
Как минимум мне нужно понять, почему мой с виду вполне рабочий код не работает как нужно.
Leonid
Второй вариант выполняется, просто ничего не фильтрует, возвращает все строки. Код для первого варианта я взял просто допустив опечатку во втором варианте и скопировав запрос из текста ошибки, ничего не меняя.
Алексей
Кто нибудь шарить в v8js ?
Айбек
это не чат js, и вопрос ради вопроса - фу таким быть
Victor
Как правильно заставить имплементить методы в классе, которые необходимы для подключаемого трейта? 1 Делать абстрактные методы в трейте? 2 Делать методы в самом трейте которые вернут дефолтные значения. А в классе переопределять. Например , есть класс Class A, к нему подключается трейт Trait T. В трейте мне нужно получить что-то из класса А - $this->getPrice() В классе А я реализовываю метод getPrice() Есть другие варианты? И какой предпочтительней?
Айбек
Как минимум мне нужно понять, почему мой с виду вполне рабочий код не работает как нужно.
ну хз, мало кто будет сидеть тестить твой код, если поверхностный взгляд не говорит об ошибках) так что кажется тебе никто не поможет, отвечая на вопрос)
Anonymous
Подскажите, как переадресовать пользователя на страницу якорем? some/dir#top помогите найти в документации как написать {{ route ('some.dir') }} а дальше что?
Maksim (Ellrion)
Может кто объяснить, почему это работает: return $model->whereRaw("notes.id in ( select notes1.id from notes as notes1 left join notes as notes2 on notes1.category_id = notes2.category_id and notes1.created_at > notes2.created_at where notes2.id is null)"); А это - нет: $notes = 'notes'; $notesAlias1 = 'notes1'; $notesAlias2 = 'notes2'; return $model->whereIn($notes . '.id', function($query) use ($notes, $notesAlias1, $notesAlias2) { $query->select($notesAlias1 . '.id') ->from($notes . ' as ' . $notesAlias1) ->leftJoin($notes . ' as ' . $notesAlias2 , function($query) use ($notesAlias1, $notesAlias2) { return $query->on($notesAlias1 . '.category_id', '=' , $notesAlias2 . '.category_id') ->where($notesAlias1 . '.created_at', '>' , $notesAlias2 . '.created_at'); }) ->whereNull($notesAlias2 . '.id'); }); Это при том, что в первый вариант запроса я вставил то, что мне сгенерировал второй вариант. У второго варианта не вылезает ошибки, просто он возвращает все айдишники, то есть не фильтрует ничего. Если это может как-то влиять, сам код является критерием для https://github.com/andersao/l5-repository
я нашел ошибку во втором твоем запросе
Maksim (Ellrion)
->where($notesAlias1 . '.created_at', '>', $notesAlias2 . '.created_at'); тут whereColumn надо иначе третий параметр будет восприниматься как биндинг и строка
Anonymous
считаем что тебе рано в ларку
Почему это. И кто "мы"?
Anonymous
В Yii можно было сразу написать это в роуте. Но я не нашел как это сделать здесь
Айбек
славься yii) upd:сорян
Anonymous
считаем что тебе рано в ларку
очень грубо, между прочим. Незнание, как сделать якорную ссылку не может быть решением можно или нельзя мне в "ларку"
Anonymous
Привет! А можно как-то связать sass и компоненты vue? Ну, то есть, что бы файлы vue компоненты видели переменные sass, ну, и в компонентах использовать scss
Anonymous
route('profile.settings', ['#hash'])
Спасибо! А где такое в доках написано? Я не нашел
Nik
Спасибо! А где такое в доках написано? Я не нашел
это написано в сырцах метода, которые ты даже не пробовал открывать
Айбек
ну я зашел в хелпер роут, что туда можно передать)
Anonymous
как есть. это твой не единственный глупый вопрос
А вы сразу выросли и никогда не задавали глупых вопросов, да? Все приобретали разный жизненный опыт. Моя профессия не связана с программированием. Так что же теперь, умереть что ли?
Алексей
это не чат js, и вопрос ради вопроса - фу таким быть
Сейчас бы не шарить о чем вопрос ,но высказываться,потому что есть 2 буквы -js