
Dmitriy
25.07.2018
09:08:54
https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#%D0%A2%D0%BE%D0%BD%D0%BA%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D1%8B-%D1%82%D0%BE%D0%BB%D1%81%D1%82%D1%8B%D0%B5-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D0%B8
https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#Используйте-инструменты-и-практики-принятые-сообществом
https://github.com/alexeymezenin/laravel-best-practices/blob/master/russian.md#Короткий-и-читаемый-синтаксис-там-где-это-возможно
и т.д

Google

Иван
25.07.2018
09:11:28

Dmitriy
25.07.2018
09:12:35
а тут что не так?
Тонкие контроллеры, толстые модели
само название. незачем eloquent превращать свалку s

Иван
25.07.2018
09:15:22

Pavlo
25.07.2018
09:15:51
кроме моделей и контроллеров можно сделать ещё слои

Dmitriy
25.07.2018
09:15:55

Pavlo
25.07.2018
09:16:09
а вот ларавель как раз в доках и таких "хороших советах" толкает мол "выбирайте из двух зол"

Саша
25.07.2018
09:17:51
имхо ниче зазорного нет там где надо в контроллере сделать небольшой запрос
лучше чем элокуент который сам по себе люто нарушает srp превращать в еще большую помойку из тысячи возможных юз кейсов

Subb98
25.07.2018
09:18:55
mysqli_query :)

Yury
25.07.2018
09:19:03
@ExileeD и как же ты превратишь eloquent в свалку где ты писать собрался, есть еще абстракции делать нужно с помощью их

Dmitriy
25.07.2018
09:20:21

Yury
25.07.2018
09:20:32
@Sfike запрос еще ладно , я говорю о том что свести к минимому if else в контроллере , бизнес логики там не должно быть

Саша
25.07.2018
09:22:12

Yury
25.07.2018
09:23:10
зачем пихать в модель , можно сделать репозиторий , в абстрактом описать унивирсальные методы и собирать builder

Google

Саша
25.07.2018
09:25:44
Я ж не говорю про то что нельзя сделать по другмоу
Я говорю про то что там хуево сформулирован принцип, даже если что то там где то подразумевалось чуваком который это писал. Новичок увидит "толстые модели" и будет все подряд в модели херачить

Dmitriy
25.07.2018
09:27:06

Yury
25.07.2018
09:27:37
ок) мысль понял , если так то да)

Subb98
25.07.2018
09:27:59
новичок увидит монолитный spa и сделает такую же модель. а потом спросит: посоны, зачем контроллер? :D

Yury
25.07.2018
09:28:15
:)

f4rt~
25.07.2018
09:30:42
в целом не все так плохо
такой лапшекод супер просто рефакторить, проблем никаких не вижу

Michael
25.07.2018
09:41:31
И переносить код с фреймворка на фреймворк опять же легче будет.

Roma
25.07.2018
09:43:28

Michael
25.07.2018
09:44:27
Я сейчас переношу один старинный проект с codeigniter на laravel

Nik
25.07.2018
09:45:20

Michael
25.07.2018
09:46:14
Вообще, писать максимально фреймворк-агностик код - признак хорошего тона. Сейчас, правда, кроме laravel кандидатов и нет, но тем не менее. "Картошку любить следует хотя бы за то, что она ум в порядок приводит" (с) Чапаев

Dmitriy
25.07.2018
09:47:56

Roma
25.07.2018
09:48:26


Michael
25.07.2018
09:48:56
С переносом всё не так ужасно. Смотришь, что наколбасено в контроллерах, выносишь всё в отдельные классы, пишешь репозитории для общения с БД (кстати, Eloquent с коллекциями можно завести где угодно, оказывается). Дальше останется скопировать папочку с классами в проект с laravel, и прописать роуты с контроллерами, где будет очень немного кода - просто вызовы больших кусков и компоновка данных во вьюхи. Ну и вьюхи подправить чуток под blade. И всё.
Это да, иногда такого не стоит делать, если пишешь небольшой бложик или другое круд-образное, абстракции повредят.
Если кто ещё ковыряет легаси-код с sql-запросами плейнтекстом, вот элоквент: https://github.com/illuminate/database вот коллекции: https://github.com/tightenco/collect . Выбираете версию под вашу версию php, подключаете композером, инициализируете где-нить в index.php и пользуетесь благами цивилизации.

Google

Саша
25.07.2018
09:55:19

Michael
25.07.2018
09:55:38
Можно делать модельки, отношения, все будет приходить в коллекциях, в общем, практически половина ларавеля у вас в проекте оказывается

Roma
25.07.2018
10:00:56

Саша
25.07.2018
10:03:42

Olexandr
25.07.2018
10:18:32
Хей, всем привет
чем можно распаковывать зип архив, но не сохраняя его как файл?
я получаю по фтп кусок данных, что есть зип архивом, можно этот кусок сразу распаковать, не соханяя его как отдельный файл?

Edgar
25.07.2018
10:24:20
что значит не сохраняя? Не сохраняя именно на диск или распаковывая в процессе скачивания?)))
сохрани, распакуй, удали. Можешь просто если он небольшой сохранить его не на диск, а в памяти держать

Diamond
25.07.2018
10:41:13
привет, подскажите как можно вывести в blade шаблоне роут из ресурса? для пример если путь в роутах Route::get(la la la) c name = test, то выводим {{ route('test') }} а как быть с теми роутами которые в Route::resource

Tema
25.07.2018
10:45:23

Diamond
25.07.2018
10:48:04
спасибо за ссылку, но там нет ответа на мой вопрос
или я не вижу

Tema
25.07.2018
10:48:48

Diamond
25.07.2018
10:49:10
спасибо! теперь вижу)

Walter
25.07.2018
11:01:20
А еще лучше php artisan route:list, что бы не рыться в доках

Nik
25.07.2018
11:22:00
господа, а ни у кого не глючил Cache::remember ?
Есть у меня кложурка, и что-то она периодически возвращает нифига, хотя колбек указан и по идее должны догружаться данные после инвалидации
запрос в кложурке тупейший, тобишь все должно быть вообще ок

Саша
25.07.2018
12:24:38

Георгий
25.07.2018
12:37:49
Привет всем

Google

Георгий
25.07.2018
12:38:15
как updateorcreate задать where &
?
нужно обновить определенному юзеру, если нет то создать ему

Roman
25.07.2018
12:39:56
updateOrCreate([
'user_id' => id
], [
'user_id' => id,
'more_field' => more_data,
'etc' => 'etc'
]

Admin
ERROR: S client not available

Maksim (Ellrion)
25.07.2018
12:40:17

Георгий
25.07.2018
12:40:45

Maksim (Ellrion)
25.07.2018
12:41:24

Георгий
25.07.2018
12:42:52
```General error: 1364 Field 'account_id' doesn't have a default value (SQL: insert into coin_addresses (coin_address, updated_at, created_at) values (sdfgsdfgsdf, 2018-07-25 15:42:28, 2018-07-25 15:42:28))```
account_id для поиска юзера
это ошибка00

[Anonymous]
25.07.2018
12:43:41

Георгий
25.07.2018
12:43:57

[Anonymous]
25.07.2018
12:44:16
Когда ты не понимаешь что такое массивы и работаешь с фреймворком..

Maksim (Ellrion)
25.07.2018
12:45:22

Георгий
25.07.2018
12:45:52
а все, Базу ебланы делали давно. Дефолтных значений нет.....

Владислав
25.07.2018
12:48:34
???

[Anonymous]
25.07.2018
12:49:55

Maksim (Ellrion)
25.07.2018
12:49:57

Google

Георгий
25.07.2018
12:50:31
он там и не нужен
там ругалось, что нет у поля дефолтного значения. Поставил в базе и записало сразу. Сенкт тебе)

[Anonymous]
25.07.2018
12:50:33

Maksim (Ellrion)
25.07.2018
12:50:35

[Anonymous]
25.07.2018
12:51:09

Maksim (Ellrion)
25.07.2018
12:51:16

Георгий
25.07.2018
12:51:21

Maksim (Ellrion)
25.07.2018
12:51:47

[Anonymous]
25.07.2018
12:51:56

Георгий
25.07.2018
12:52:37

[Anonymous]
25.07.2018
12:53:28
Да и не может быть этого значения! Это тебе не текст, а fk. Чтобы было дефолтное значение должна существовать запись

Oleg
25.07.2018
12:53:34
Как в js проверить строку на количество символов?

Георгий
25.07.2018
12:53:37
а из ошибки, что выше скидывал, там дописал fillable account_id
после была ошибка General error: 1364 Field 'currency' doesn't have a default value (SQL: insert into `coin_addresses` (`account_id`, `coin_address`, `updated_at`, `created_at`) values (3, sdfgsdfgsdf, 2018-07-25 15:46:56, 2018-07-25 15:46:56))

[Anonymous]
25.07.2018
12:54:36
и аккаунт должен устанавливаться так $user->account()->associate($account)