@laravel_pro

Страница 1113 из 2014
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

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

Dmitry
15.02.2018
10:36:29
before&after
по ходу ты прав

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

при этом не вспоминать об это в каждом экшене.

Короче вопрос, можно ли Response превратить в JSONResponse ?

Google
Dmitry
15.02.2018
10:38:40
Короче вопрос, можно ли Response превратить в JSONResponse ?
можно, они только заголовками отличаются

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
Подскажите если у меня поле json то как в контроллере обращаться к данным json?)
если ты про поле в таблице, то ты его можешь кастить как угодно: хочешь в массив, хочешь в коллекцию, а хочешь, можешь закастить в какой-нибудь объект

Antonio
15.02.2018
12:13:12
в моделе есть параметр $cast

https://laravel.com/docs/5.5/eloquent-mutators#attribute-casting

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
@kardashov а в чем вопрос?
Вариант Antonio я больше искал)

все флаги тоже стараюсь закастить в bool
А как объястоят дела с добавлением?

Antonio
15.02.2018
12:20:00
а уже добавили касты в объект произвольного класса?
я же сказал, не пробовал. Но если в Collection кастится, то почему бы и нет?

А как объястоят дела с добавлением?
прекрасно. Когда сохраняешь модель он сам кастит обратно в JSON

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

Maksim (Ellrion)
15.02.2018
12:21:47
В объект тоже получилось)
ну объект stdClass то понятно, достаточно доки прочитать

а вот если хочется типизированности то раньше точно небыло и я писал например https://github.com/Larapac/EloquentValueObjectCasts

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, то они отработают и в этой выборке

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/ В чем может быть проблема? Гугл и дока не помогла. Спасибо за ответ!

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
спасибо!
в терминале mysql -uroot -p

Макс
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
mysql -u root -p
это намек на пробел? он не обязателен

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

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

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