
Antonio
15.02.2018
10:28:20
что не поменяется?

Dmitry
15.02.2018
10:28:20
ты проверяшь статус ответа, до того как он обработан
да все что угодно может изменится

Antonio
15.02.2018
10:29:12
$response = $next($request) получает ответ уже после обработки контроллером, или я неправ?

Google

Dmitry
15.02.2018
10:31:53
хм... по идеи это ответ от всех последующих мидлвар
а уже потом готовый реквест передается в контроллер
но может я и ошибаюсь...

Antonio
15.02.2018
10:33:17
ошибаешься
документация говорит обратное
https://laravel.com/docs/5.5/middleware#defining-middleware
before&after

Макс
15.02.2018
10:34:59

Antonio
15.02.2018
10:35:53
ну по хорошему, я везде возвращаю ресурс/ресурсколлекцию. И тогда все нормально добавляется в JSON.

Dmitry
15.02.2018
10:36:29

Antonio
15.02.2018
10:36:56
но есть желание обработать тот вариант, когда контроллер вернет что-то кроме JSON (логическая ошибка, тестирование, и т.д.) И всеравно отдать JSON
при этом не вспоминать об это в каждом экшене.
Короче вопрос, можно ли Response превратить в JSONResponse ?

Google

Dmitry
15.02.2018
10:38:40

Antonio
15.02.2018
10:39:15
сами классы отличаются методами

Dmitry
15.02.2018
10:41:44
ну так просто создай его, все данные у тебя есть

Antonio
15.02.2018
10:46:40
а как сохранить правильные хедеры?

Dmitry
15.02.2018
10:46:55
в конструктор их передавай
которые были уже в запросе

Antonio
15.02.2018
10:50:30
глупый вопрос наверное, но в классе Response есть метод
header(string $key, array|string $values, bool $replace = true)
Set a header on the Response.
но на получение ничего нет.
на данном этапе дополнительные заголовки вроде бы не формирую, придется пока смириться с тем вариантом, что есть сейчас
$response = $next($request);
if ($response->status() >= 200 && $response->status() < 400) {
$resp_data = $response->getOriginalContent();
if (!is_array($resp_data)) $resp_data = ['data'=>$resp_data];
$resp_data['more'] = [
'foo' => '',
'bar' => ''
];
if ($response instanceof JsonResponse)
$response->setData($resp_data);
else $response = response()->json(
$resp_data,
$response->status()
);
}
return $response;

Dmitry
15.02.2018
10:52:46
там вроде есть параметр публичный headers
как-то так наверное будет $request->headers->all()

?? Vladimir
15.02.2018
11:44:47
Подскажите на счёт создания пакетов для Laravel. Есть какие-нибудь аналоги workbench из laravel 4? Или сейчас структуру пакета нужно создавать вручную?

Сергей
15.02.2018
12:10:23
Подскажите если у меня поле json то как в контроллере обращаться к данным json?)
Переводить в массив?

Alex
15.02.2018
12:11:56

Antonio
15.02.2018
12:12:31

Сергей
15.02.2018
12:13:04

Antonio
15.02.2018
12:13:12
в моделе есть параметр $cast
https://laravel.com/docs/5.5/eloquent-mutators#attribute-casting

Сергей
15.02.2018
12:14:22

Google

Alex
15.02.2018
12:15:04
строка
http://php.net/manual/ru/function.json-decode.php

Antonio
15.02.2018
12:15:29
зачем это делать каждый раз, если можно добавить магии?

Сергей
15.02.2018
12:15:42

Antonio
15.02.2018
12:16:11
у меня вот такая конструкция работает прекрасно:
protected $casts = [
'feedback' => 'Collection'
];

Alex
15.02.2018
12:16:29
@kardashov а в чем вопрос?

Antonio
15.02.2018
12:16:30
все флаги тоже стараюсь закастить в bool

Сергей
15.02.2018
12:17:40

Maksim (Ellrion)
15.02.2018
12:19:26

Antonio
15.02.2018
12:20:00

Maksim (Ellrion)
15.02.2018
12:21:11

Сергей
15.02.2018
12:21:17
В объект тоже получилось)

Maksim (Ellrion)
15.02.2018
12:21:47
а вот если хочется типизированности то раньше точно небыло и я писал например https://github.com/Larapac/EloquentValueObjectCasts

Сергей
15.02.2018
12:22:56

Antonio
15.02.2018
12:26:33
странно

Сергей
15.02.2018
12:41:15
А подскажите как правильно реализовать вывод друг за другом?
Допустим нужно на каждой новой странице по клику на следующую выводить посты друг за другом в порядке сортировки?

Google

Сергей
15.02.2018
12:41:42
Нужно передовать на страницу все записи и потом искать открытую и брать следующую?
ну точнее в контроллере это передавать, ссылку следующей

Antonio
15.02.2018
12:42:49
пэджинатор с шагом 1? =)

Сергей
15.02.2018
12:44:10
не совсем) Есть открытая статья к примеру и есть кнопка следующая статья, как в кнопку следующей статьи передать ссылку? Если в базе они не друг за другом идут, а по полю сортировки нужно брать следующую статью

Antonio
15.02.2018
12:45:37
ну тогда в моделе/контроллере/сервисе вычисли id/url и передай во вью

Сергей
15.02.2018
12:46:08
Ага, ну я так и думал, просто решил узнать может есть какой нибудь способ по лучше, о котором я не знаю)

Admin
ERROR: S client not available

Сергей
15.02.2018
13:27:12
Подскажите правильно ли так делать выборку следующей записи
$lessons = Lesson::where([
['section_id', '=', $section->id],
['sort', '>=', $lesson->id],
['name', '<>', $lesson_name]
])
->orderBy('sort', 'asc')
->firstOrFail();

Ахмедов
15.02.2018
13:27:40
/link@yetanotherstatsbot

Yet Another Stats
15.02.2018
13:27:41
https://b.yasb.exileed.com/t/laravel_pro

Сергей
15.02.2018
13:29:24

Antonio
15.02.2018
13:34:26
ну я же не знаю, какая у Вас логика сортировки
$nextLesson = $lesson->section->lessons()->where([['sort','>=',$lesson->id],['name','<>',$lesson->name]])->get();
я бы вот так дергал, через зависимости
в таком случае, если вы добавите в будущем какие-то глобальные ограничения на связку section->lessons, то они отработают и в этой выборке

Сергей
15.02.2018
13:38:55

Yet Another Stats
15.02.2018
14:02:38
https://b.yasb.exileed.com/t/laravel_pro

Taranukha
15.02.2018
16:58:35
Всем привет! Только изучаю Laravel
Подскажите пожалуйста:
Использую сборку homestead
в файле homestead.yml указал mariadb: true
не могу зайти в базу по адресу 127.0.0.1:33060/
В чем может быть проблема? Гугл и дока не помогла. Спасибо за ответ!

Andrey
15.02.2018
17:03:59
что в ответ получаете

Google

Taranukha
15.02.2018
17:06:13
скрин
что в ответ получаете

Dmitriy
15.02.2018
17:06:51
открывать нужно через клиент mysql а не http

Taranukha
15.02.2018
17:09:01
спасибо!
и еще .. подскажите пожалуйста хорошие (и актуальные) уроки по фреймворку

Andrey
15.02.2018
17:11:17

Макс
15.02.2018
17:11:25
ларакаст
+
оф дока

Andrey
15.02.2018
17:11:35
если хотите через браузер - скачайте phpmyadmin

Макс
15.02.2018
17:12:10

Taranukha
15.02.2018
17:12:31
а Ларакаст есть на русском?

Andrey
15.02.2018
17:12:55

Макс
15.02.2018
17:15:57

Евгений
15.02.2018
17:39:55
Почему может не работать дебагмод? APP_DEBUG=true , а ошибки все как при false

Andrii
15.02.2018
17:43:22
Конфиги закешированые мб

Maxim
15.02.2018
17:43:39