Максим
Андрей
Евгений
Посмотри что выводит $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(*)')
Евгений
Евгений
Значит у тебя не карбон у паблишд эт
Андрей
Vladyslav
Nik
invariance
и?
invariance
мне тебе на каждый из 9 пример дать?)
Nik
Maksim (Ellrion)
Максим
Maksim (Ellrion)
если найдешь больше инфы и более корректный ответ на свой вопрос то буду благодарен если напишешь сюда, будет интересно
Vitalii
Парни, как во время дебагинга кастомный код в шторме выполнить?
Максим
Nik
Vitalii
ага, нашел, спасибо))
Максим
Maksim (Ellrion)
Максим
А запросы к бд никуда не логируются по-умолчанию?
Maksim (Ellrion)
Алексей
Ребят, вопрос по коллекциям и их синхронизации.
Есть договор, я читаю его товарные позиции в коллекцию. Потом меняю состав договора (добавляю в него новые товары, меняю количество уже существующих) . После этого меняется и коллекция, которую я явным образом никак не обновлял.
Вопрос: она что, синхронизируется автоматически?
Oleg
Алексей
Всем привет
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
Второй вариант выполняется, просто ничего не фильтрует, возвращает все строки.
Код для первого варианта я взял просто допустив опечатку во втором варианте и скопировав запрос из текста ошибки, ничего не меняя.
Алексей
Кто нибудь шарить в 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
Nik
Anonymous
В Yii можно было сразу написать это в роуте. Но я не нашел как это сделать здесь
Айбек
славься yii)
upd:сорян
Leonid
Anonymous
считаем что тебе рано в ларку
очень грубо, между прочим. Незнание, как сделать якорную ссылку не может быть решением можно или нельзя мне в "ларку"
Айбек
Anonymous
Привет! А можно как-то связать sass и компоненты vue? Ну, то есть, что бы файлы vue компоненты видели переменные sass, ну, и в компонентах использовать scss
Anonymous
Nik
Айбек
ну я зашел в хелпер роут, что туда можно передать)
Anonymous
как есть. это твой не единственный глупый вопрос
А вы сразу выросли и никогда не задавали глупых вопросов, да? Все приобретали разный жизненный опыт. Моя профессия не связана с программированием. Так что же теперь, умереть что ли?
Nik