@laravel_pro

Страница 1967 из 2014
Oleg ?
15.10.2018
15:49:47


$var2 = $this->user->find(1)->form()->orderBy('id', 'desc')->take(10)->get(); dump($var2);

Alex
15.10.2018
15:51:07
latest()

User::latest()->get();

Google
Oleg ?
15.10.2018
15:53:11
ну он всё ещё делает два запроса



и берёт не последнюю, а все строки

$var = $this->user->where('id', 1)->with('form')->latest()->get(); dump($var);

Alex
15.10.2018
15:53:39
а first(); вместо get?

зачем where

with тебе еще 1 запрос даёт

Александр
15.10.2018
15:54:20
Ты это делаешь в модели юзера?

Oleg ?
15.10.2018
15:54:31
через модель юзера, да

Александр
15.10.2018
15:54:38
Так зачем тебе проверка

Oleg ?
15.10.2018
15:54:43
мне надо вытащить юзера и связанные с ним последние строки из разных моделей

так у меня нет ещё юзера

мне же его указать надо

Google
Oleg ?
15.10.2018
15:55:09
я хочу собрать 1 запрос, который отдаёт всё это через модели

я могу на джоинах это собрать, но хочу типа "правильно" всё сделать

и я пкоа не понимаю как это там работает

f4rt~
15.10.2018
15:56:38
правильно это отказаться от двунаправленных связей

и где надо раз в году сделать в репозитории голым скулем

Alex
15.10.2018
15:57:03
на джоинах даже шустрее работать будет

Oleg ?
15.10.2018
15:57:22
но не так читабельно

а там в модель можно скоуп написать на основе DB

чтобы из модели вызывать кастомный запрос?

или это уже за гранью говнокода считается?

Alex
15.10.2018
15:59:07
Eloquent: Mutators вроде для этого, если я правильно понял суть

f4rt~
15.10.2018
15:59:40
но не так читабельно
прелесть инкапсуляции и нормального нейминга в том, что я не должен вообще это читать

я зову ->service->fetchUsers(); и получаю User[]

Alex
15.10.2018
16:00:03
чтобы в контроллере не хранить портянку , обычно их выносят в сервисы или в модели хотя б

Oleg ?
15.10.2018
16:00:31
ну я хотел логику в сервисы убрать, а все вызов в модели оформить связями

f4rt~
15.10.2018
16:00:53
а если спросить зачем

то и сам не знаешь

я про последнее

Oleg ?
15.10.2018
16:01:27
ну так, чтобы всё работало по человечески

f4rt~
15.10.2018
16:01:33
ясно

Google
Oleg ?
15.10.2018
16:01:53
ну а что, запросы в сервисе писать?

f4rt~
15.10.2018
16:02:08
а что тебя смущает?

Oleg ?
15.10.2018
16:02:32
Что есть модели и скорей всего они это умеют.

Надо только понять как.

f4rt~
15.10.2018
16:03:21
умеют только при оверхеде с двухсторонними связями

Влад
15.10.2018
17:35:13
у меня есть абстрактный клас в котором protected $request; нормльно ли в каждом наследнике писать /** * @var PostRequest */ protected $request; чтобы редактор подхватывал нужное?

Влад
15.10.2018
17:36:29
с property не работает

var подсмотрел в самой ларе

т.е. это нормльно в наследнике снова писать такое же свойство?

Илья
15.10.2018
17:39:03
с property не работает
ты где его пишешь?

Влад
15.10.2018
17:39:39
/** * @property PostRequest */ protected $request;

в наследнике

Илья
15.10.2018
17:40:10
/** * @property string $myProperty */ class Child extends Parent { ....

типо такого

т.е. это нормльно в наследнике снова писать такое же свойство?
в таком случае свойство не придется повторно объявлять

Влад
15.10.2018
17:41:55
а в абстрактном надо что-то?

Илья
15.10.2018
17:42:01
-

Влад
15.10.2018
17:42:21
не работает

Google
Илья
15.10.2018
17:42:33
покажи код, должно работать

Влад
15.10.2018
17:43:32
/* * @property PostRequest $request */ class Post extends BaseModel {

Илья
15.10.2018
17:43:53
phpdoc начинается с

/**

ты звездочку одну потерял

Влад
15.10.2018
17:44:21
спасибо

f4rt~
15.10.2018
17:44:53
я бы еще за абстрактный класс с постреквестом насторожился

Влад
15.10.2018
17:45:28
не понял

f4rt~
15.10.2018
17:46:04
зачем тебе это, мотивацию объяснить можешь?

речь же про форм реквест, верно? ты пилишь какой-то декоратор для валидации или что?

Илья
15.10.2018
17:46:31
имхо инстанс реквеста не должен уходить дальше контрллера

f4rt~
15.10.2018
17:47:06
не ну это может быть сервис какой-то

вполне себе

но зачем абстрактный класс

Влад
15.10.2018
17:47:21
у меня абстрактный контроллер

f4rt~
15.10.2018
17:47:49
зачем?

Влад
15.10.2018
17:47:55
наследников много и у каждого свой реквест

f4rt~
15.10.2018
17:48:05
зачем?

если что то можно указать через DI аргументами, зачем плодить высокую связность, пилить абстрактный класс и наследоваться

Илья
15.10.2018
17:49:29
не ну это может быть сервис какой-то
в сервис можно передавать $request->all() / $request->validated(), то есть сами данные

Google
f4rt~
15.10.2018
17:49:44
Влад
15.10.2018
17:49:54
я делаю $this->request = $request = app($this->requestClass); чтобы потом работать с реквестом

f4rt~
15.10.2018
17:50:19
почему ты не делаешь someController someMethod(PostRequest $request)

что бы работать с реквестом?

Илья
15.10.2018
17:51:17
формреквест это и есть сами данные
как тогда поступать в кейсе, если надо в сервис передать данные не из форм реквеста, а просто, допустим, какой-то массив данных?

Влад
15.10.2018
17:52:25
почему ты не делаешь someController someMethod(PostRequest $request)
наследники заполнили requestClass и дальше работают с $this->request

f4rt~
15.10.2018
17:52:58
наследники заполнили requestClass и дальше работают с $this->request
позволь спросить, а какой у тебя бекграунд, кроме ларки на чем то кодил?

Влад
15.10.2018
17:53:25
нет

f4rt~
15.10.2018
17:53:40
а в пхп вообще сколько?

Влад
15.10.2018
17:54:12
3 года

Iskandar
15.10.2018
18:19:49
подскажите пожалуйста, при обработке в FormRequest запроса по api если происходит ошибка валидации возвращает 422 статус код, но нужно сообщение об ошибке валидации

Oleg
15.10.2018
18:22:37
Всем доброго времени суток! Я решил начать знакомство с Laravel. Долгое время работал с Yii2. Если тут есть люди, которые также работали с Yii2, дайте, пожалуйста, пару советов, с чего стоит начать (кроме чтения оф. док, естественно) и на что стоит обратить внимание (ключевые отличия данного фреймворка). Может есть какие-то пакеты или дополнения, о которых стоит знать с самого начала, или готовые "starter kit". Хочу создать базовую "заготовку" для себя, чтобы потом на её базе делать сайты разных типов. Слышал про October CMS - стоит ли начать с неё, или лучше from scratch?

Roman
15.10.2018
18:23:45
Laravel debugger как минимум обязателен. Имхо.

Илья
15.10.2018
18:24:11
Laravel Debugbar*

Iskandar
15.10.2018
18:24:30
приходит 422 + в теле текст самих ошибок
да я даже не обратил внимания, мне нужно было вывести текст самих ошибок, я выводил текст статуса.. Спасибо)

Страница 1967 из 2014