@ru_laravel

Страница 14 из 39
Sergey
28.12.2016
13:05:19
у меня была такая же история на 5.2, не было времени искать решение, просто поднял supervisor и всё, так даже лучше.

есть конечна проблема в том что его сложно поднять на локальной машине, хотя если linux или mac, проблем не много. А так для тестирование в консоль php artisan queue:listen и он будет по послденго слушать соединение не прервывая его, хотя иногда через пару часов бывает падает, но не всегда.

Valery
28.12.2016
13:08:41
так тут проблема в том, что любая команда не пашет из шедулера, не только очереди

в крон вроде как прописал
а ты в крон как прописал? типа этого * * * * * php /path/to/artisan schedule:run » /dev/null 2>&1 или запросом через http?

Google
Nikolay
28.12.2016
18:07:42
Как консольную утилиту

Потом ее же выполнин

И она работала

А из крона нет

ага, было б неплохо
Ну все логично)

У дебиан система

Просто слепо вставляли пример с сайта ларавела

глянул логи крона

Error: bad username; while reading /etc/cron.d/mtt-app-scheduler

* * * * * <USERNAME> <COMAND>

В доках нет имени пользователя, под которым запускается

поставил, все разработало)

Valery
29.12.2016
05:52:46
воно оно чё

Google
Nikolay
29.12.2016
06:03:48
Возможно есть разделение крона по пользователям

Но основной cron.d

рутовый так не работает

нужно указывать пользователя

Виктор
03.01.2017
10:10:00
Всем привет. С наступившим НГ! Кто знает, как заставить лару джойнить в один запрос все релейшены, которые хочу получить with(...), вместо отдельных select запросов?

Valery
03.01.2017
11:07:37
сократить количество запросов к базе?

Виктор
03.01.2017
11:16:21
да

Valery
03.01.2017
11:20:20
ну наверно не использовать отношения. только join, только хардкор )

Виктор
03.01.2017
11:28:46
ну да, эх)

Kirill
03.01.2017
16:51:11
Или кэшировать

Виктор
04.01.2017
19:40:43
Нет, не пойдет. Я к тому, что потом выхвтывать соответственно эти релейшены в коде $user = User::with('role')->find(1); получить соответственно $user->role->name одним запросом Тут разбор идет по двум моделям, User и Role и соответственно Role попадет как релейшн в сущность User

Или речь о какой вьюшке? В контексте БД?

Oleg
04.01.2017
19:41:49
В контексте БД.

https://habrahabr.ru/post/47031/

Виктор
04.01.2017
19:42:32
ясно, ну можно и вьюшкой конечно, но тогда и данные о самой роли будут содержаться непосредственно в сущности User

Да, я понял о каких вьюхах речь))

Oleg
04.01.2017
19:43:16
А это не оно? $users = DB::table('users') ->join('contacts', 'users.id', '=', 'contacts.user_id') ->join('orders', 'users.id', '=', 'orders.user_id') ->select('users.*', 'contacts.phone', 'orders.price') ->get();

Виктор
04.01.2017
20:02:46
Джойны само собой, конечно все за один запрос соберет, но в итоге это будет все в одной сущности (в одном массиве, коллекции). Да и это не релейшены

Google
Egor
05.01.2017
05:35:39
Кто знает, есть ли генераторы админок на php, подобие http://keystonejs.com ??

root
05.01.2017
06:04:53
Ребята всем здрям! Логику обязательно держать в моделе?

Контроллер для чего вообще?

Valery
05.01.2017
06:05:35
логику можно выносить в сервисы

root
05.01.2017
06:06:13
Что ещё за сервисы? Не знаю такого. Знаю файл с маршрутами, в котором указываешь контроллер для маршрута

Модель вообще не могу допереть для чего

С шаблонами слава Богу разобрался

Valery
05.01.2017
06:07:46
модель для описания таблицы в бд и её связей с другими таблицами

root
05.01.2017
06:08:12
Только для этого?

В контроллере я могу обраться к базе данных и передать потом данные в шаблон?

Valery
05.01.2017
06:12:39
ну если там что-то короткое, то, вроде бы, не воспрещается https://laravel.com/docs/5.3/controllers#defining-controllers

root
05.01.2017
06:19:36
Я на 5.2 версии

Но обновлял проект до 5.3

Там есть изменения

По умолчанию при создании модели в ней уже прописано use Illuminate\Database\Eloquent\Model;

В документации есть еще фасад DB

Подскажите какой из них лучше использовать?

Valery
05.01.2017
06:47:29
через дб можно использовать query builder без моделей или вообще чистые sql запросы

root
05.01.2017
06:48:24
т.е. я могу в контроллере добавить use DB?

Nikolay
05.01.2017
06:48:53
Да

Google
root
05.01.2017
06:49:02
И не обращаться к моделе, получать данные из базы и передавать их шаблону

?

Это не нарушает логику Laravel?

Просто я новичок и хотелось с самого начала писать правильно

Еще хотел спросить оба фасада защищены от инъекций?

Nikolay
05.01.2017
06:52:13
Модели нужны

Чтобы не писать селектв к таблицам

Valery
05.01.2017
06:52:40
DB::unprepared('DELETE FROM users WHERE id=' . $request->input('id')); - не защищено

Nikolay
05.01.2017
06:52:46
А писать нормальный семантически обоснованный год

Код*

root
05.01.2017
06:53:24
Запутался

Млин сложно новичку осваивать фрейм

Valery
05.01.2017
06:54:30
посмотри на ютубе видосы обучающие, почитай статейки

root
05.01.2017
06:55:13
Смотрел уже. Предпочтительно использование моделей со стандартным фасадом use Illuminate\Database\Eloquent\Model;

Все запросы в моделе которая возвращает $var с данными и передает её контроллеру, который её передаёт уже шаблону

Можно пример, чтобы внести ясность?

Valery
05.01.2017
06:57:34
чтобы код был короче и более человекопонятный

root
05.01.2017
06:58:16
Ок. Можно пример обращения к таблице пользователей с запросом на выбор всех пользователей

Из контроллера и из модели

Google
root
05.01.2017
06:58:40
Хотелось бы посмотреть какие отличия

Valery
05.01.2017
06:59:48
$users = User::all();

root
05.01.2017
07:00:01
Это в моделе насколько я понял

Valery
05.01.2017
07:00:17
нет. User - модель

это в контроллере

запрашиваем всех юзеров через соответствующую модель

root
05.01.2017
07:01:22
Значит в контроллере я еще дописываю путь к моделе User

use App\User;

Valery
05.01.2017
07:01:49
да, неймспейс

root
05.01.2017
07:02:57
Валерий у меня создан маршрут /calendar который обрабатывается CalendarController@index

Так же я создал через консоль php artisan make:model Calendar

Теперь в контроллере я дописываю use App\Calendar;

Valery
05.01.2017
07:04:07
а таблица-то в базе есть? calendars

root
05.01.2017
07:04:07
И пишу в контроллере запрос $calendar = Calendar::all();

Страница 14 из 39