These are chat archives for LaravelRUS/chat

7th
Jan 2017
Александр
@Alexsisukin
Jan 07 2017 00:01
Да трекер норм. Не хочется целый пакет тянуть, проще самому написать. есть же стандартный фасад, может ктото его для себя адаптировал ?
Andrei Sosnov
@atehnix
Jan 07 2017 00:10

@zlodes @Alexsisukin в Laravel есть куча "системных" событий, на которые можно подписаться и как-то реагировать, например логировать.
Вот тут наиболее полный список: https://blog.mettle.io/post/complete-list-of-laravel-5-events/

@zlodes Illuminate\Auth\Events\Authenticated, например.

Главное, событие illuminate.log не логировать... :)
Александр
@Alexsisukin
Jan 07 2017 00:14
@atehnix спасибо за инфу
KarmaBot
@KarmaBot
Jan 07 2017 00:14
Спасибо (+1) для @atehnix принято! Текущая карма +193.
Zlatoslav Desyatnikov
@zlodes
Jan 07 2017 00:19
@atehnix, спасибки!
KarmaBot
@KarmaBot
Jan 07 2017 00:19
Спасибо (+1) для @atehnix принято! Текущая карма +194.
Lutik
@Lutick
Jan 07 2017 07:16
всем привет. Вопрос по Queue. В очередях у меня стоит обработка видео. Как показать юзеру что пока идет процесс, как узнать что процесс завершился?
KarmaBot
@KarmaBot
Jan 07 2017 07:16
@Lutick, привет =)
JhaoDa
@jhaoda
Jan 07 2017 07:18
@Lutick задание начинает исполняться — пиши куда-то метку. Закончило работу — пиши ещё метку. Встроенного механизма нет.
Lutik
@Lutick
Jan 07 2017 07:27
@jhaoda очереди у меня пишутся в БД. Может можно как то оттуда брать информацию?
JhaoDa
@jhaoda
Jan 07 2017 07:29
@Lutick и что ты там найдешь, кроме самого факта наличия задания в очереди?
Lutik
@Lutick
Jan 07 2017 07:38
@jhaoda Чем ставить метки, буду проверять, есть ли записи в таблице. Больше вариантов особо нет, кажется
JhaoDa
@jhaoda
Jan 07 2017 07:39
@Lutick запись в таблице означает, что задание в очередь добавлено. Выполняется оно или нет, закончило выполняться или нет — таблица об этом не знает
Lutik
@Lutick
Jan 07 2017 07:49
@jhaoda Так после завершения запись удаляется же
JhaoDa
@jhaoda
Jan 07 2017 07:58
@Lutick так же запись удаляется, если зафейлилась несколько раз, и переносится в отдельную таблицу. Там тоже будешь искать?
@Lutick через месяц станет понятно, что БД уже не справляется, придется переезжать в какой-нибудь редис. Будешь переписывать проверяльщика?
Lutik
@Lutick
Jan 07 2017 08:02
@jhaoda ok. понял. Почему БД не будет справлятся?
JhaoDa
@jhaoda
Jan 07 2017 08:03
@Lutick откуда мне знать?
Lutik
@Lutick
Jan 07 2017 08:05
@jhaoda вы предположили что БД возможно перестанет справляться )
JhaoDa
@jhaoda
Jan 07 2017 08:05
@Lutick ага
Lutik
@Lutick
Jan 07 2017 08:06
@jhaoda ну почему БД может не справляться?
Ivan Kudinov
@frostealth
Jan 07 2017 08:06
@Lutick смотри в сторону событий, а обрабатывать их можешь любым удобным способом
JhaoDa
@jhaoda
Jan 07 2017 08:06
@Lutick откуда мне знать? Это твой проект.
Lutik
@Lutick
Jan 07 2017 08:06
@jhaoda вообще имею ввиду
JhaoDa
@jhaoda
Jan 07 2017 08:06
О, точняк, события же есть
@frostealth спасибо. Я про них забыл.
KarmaBot
@KarmaBot
Jan 07 2017 08:06
Спасибо (+1) для @frostealth принято! Текущая карма +8.
JhaoDa
@jhaoda
Jan 07 2017 08:07
@Lutick видишь, как полезно читать доку?
Lutik
@Lutick
Jan 07 2017 08:07
@frostealth Queue::after пошел
JhaoDa
@jhaoda
Jan 07 2017 08:07
@Lutick я вот с очередями давно не работал и забыл, а ты, видимо, вообще не читал
Lutik
@Lutick
Jan 07 2017 08:07
гуглить
@jhaoda да харе уже комменты редактировать
JhaoDa
@jhaoda
Jan 07 2017 08:08
@Lutick с чего это харе?
Ivan Kudinov
@frostealth
Jan 07 2017 08:09
@Lutick я бы не стал вешать эту логику на события очереди. Лучше выкидывать своё специфическое событие и на него вешать обработчики
JhaoDa
@jhaoda
Jan 07 2017 08:10
@frostealth @Lutick о том, что задание выполняется, очень желательно помнить на все время его выполнения, так что событий мало, надо куда-то ставить метку. Обработка видео это часто не пять секунд делов...
Ivan Kudinov
@frostealth
Jan 07 2017 08:19
А в чем проблема использовать статусы для видео?
JhaoDa
@jhaoda
Jan 07 2017 08:20
@frostealth какие статусы и где?
Ivan Kudinov
@frostealth
Jan 07 2017 08:23
@jhaoda в очереди, в процессе, обработано. Типа того. А где - это уже от проекта зависит, можно и в бд хранить (например в той же таблице, где и информация о видео)
JhaoDa
@jhaoda
Jan 07 2017 08:24
@frostealth ну так я же и сказал про метки. А где и как эти метки ставить это уже пусть автор вопроса решает. Но он не хочет метки
Ivan Kudinov
@frostealth
Jan 07 2017 08:29
@jhaoda ну видимо ему не нужно хранить состояние) а пользователя уведомить об изменении состояния можно и через веб сокет
Максат
@maqsat
Jan 07 2017 09:23

Здравствуйте , всем
у меня есть resource контроллер в группе

    Route::group([
        'prefix' => 'booking',
    ], function () {
        Route::resource('/', 'BookingController');
        Route::get('booking-trashed','BookingController@trashed');
        Route::get('booking-force/{id}','BookingController@forceDelete');
    });

и в нем методы index , create и все работает хорошо но именно edit не работает то есть возвращает 404

а если

Route::resource('/', 'BookingController');
поменять на 
 Route::resource('/pop', 'BookingController');

тогда будет работать, не понимаю в чем проблема?

KarmaBot
@KarmaBot
Jan 07 2017 09:23
@maqsat, ну рассказывай. Как жизнь? :)
JhaoDa
@jhaoda
Jan 07 2017 09:27
@maqsat ты неправильно понял идею ресурс-контроллеров, и документацию читал невнимательно
Anton Vorontsov
@symbios-zi
Jan 07 2017 09:28
@maqsat php artisan route:list
И там проверь
Максат
@maqsat
Jan 07 2017 09:28
@symbios-zi там есть
JhaoDa
@jhaoda
Jan 07 2017 09:28
@maqsat во-первых, все дополнительные роуты надо писать ДО объявления ресурс-контроллера
@maqsat во-вторых, GET trashed и DELETE booking/{id}/force
Максат
@maqsat
Jan 07 2017 09:32
@jhaoda ну я это понимаю
JhaoDa
@jhaoda
Jan 07 2017 09:32
@maqsat а зачем написал такое, раз понимаешь?
Максат
@maqsat
Jan 07 2017 09:32
@jhaoda в данной проблема как это может мне помочь?
Ivan Kudinov
@frostealth
Jan 07 2017 09:35
@maqsat а как выглядит экшн edit?
Максат
@maqsat
Jan 07 2017 09:36
@frostealth поменял на return 0; все равно не работает
Ivan Kudinov
@frostealth
Jan 07 2017 09:39
@maqsat ничего не понимаю. может запрашиваемой модели не существует? было бы неплохо увидеть сам метод
Максат
@maqsat
Jan 07 2017 09:40

@frostealth

    public function edit($id)
    {
        return 0;
    }

был по другому потом поменял

JhaoDa
@jhaoda
Jan 07 2017 09:40
@maqsat ну так что, ты поменял роуты и ресурс местами?
Ivan Kudinov
@frostealth
Jan 07 2017 09:40
@jhaoda никогда такой проблемы не было, всегда ресурс прописывал первым
@maqsat а как обращаешься к нему? GET /booking/{id}/edit?
JhaoDa
@jhaoda
Jan 07 2017 09:41
@frostealth тебе везло просто. В доке четко сказано, что ресурс надо писать последним, что бы коллизий не возникло
Ivan Kudinov
@frostealth
Jan 07 2017 09:42
@jhaoda интересно) ну буду знать
@jhaoda да, ты прав) я видимо всегда группировку использовал после ресурса
Максат
@maqsat
Jan 07 2017 09:45
GET /booking/{id}/edit так обращаюсь
@jhaoda поменял
JhaoDa
@jhaoda
Jan 07 2017 09:46
@maqsat ну и покажи вывод php artisan route:list для этих роутов
Максат
@maqsat
Jan 07 2017 09:52
blob
вот скрин
JhaoDa
@jhaoda
Jan 07 2017 09:55
Руки бы оторвать за эти картинки. Сложно скопировать пяток строк из консоли?
@maqsat тебя не смущает system/booking/{}/edit?
Максат
@maqsat
Jan 07 2017 10:06
@jhaoda да ты прав так не должно быть
интересно как это возможно
JhaoDa
@jhaoda
Jan 07 2017 10:10
@maqsat Route::resource('/', 'BookingController'); ресурсу надо вместо слэша конкретное имя, он не воспринимает префикс группы в этом качестве
Максат
@maqsat
Jan 07 2017 10:12

@jhaoda я это понимаю но есть один ньюанс

    Route::group([
        'prefix' => 'country',
    ], function () {
        Route::patch('restore/{id}', 'CountryController@restore');
        Route::resource('{country_id}/city', 'CityController');
        Route::patch('{country_id}/city/restore/{id}', 'CityController@restore');
        Route::resource('/', 'CountryController');
    });

здесь все как то работает

JhaoDa
@jhaoda
Jan 07 2017 10:13
@maqsat правда? Загляни в список роутов в консоли и покажи, что там на счет edit-роута
Максат
@maqsat
Jan 07 2017 10:14
точно точно так же
JhaoDa
@jhaoda
Jan 07 2017 10:15
@maqsat ну так как же оно работает тогда?
Максат
@maqsat
Jan 07 2017 10:15
да не работает
JhaoDa
@jhaoda
Jan 07 2017 10:15
@maqsat ты выше сказал, что работает
Rolfsskiv
@Rolfsskiv
Jan 07 2017 10:53
Кстате про дебаг запросов в апи https://github.com/mlanin/laravel-api-debugger вот пакет нашел

Добрый день , как можно получить количество в релейшине делаю так

Model::with(['model.count'])->get();

Выплывает ошибка

Call to a member function addEagerConstraints() on integer
JhaoDa
@jhaoda
Jan 07 2017 10:56
@Rolfsskiv про метод withCount в доке почитай
Rolfsskiv
@Rolfsskiv
Jan 07 2017 10:58
@jhaoda Спасибо... Пропустил.
KarmaBot
@KarmaBot
Jan 07 2017 10:58
Спасибо (+1) для @jhaoda принято! Текущая карма +1391.
Lutik
@Lutick
Jan 07 2017 11:01
А в чем проблема использовать статусы для видео? ни в чем. Хотел сделать прогресс бар, решил обойтись. просто 2 статуса - идет обработка и завершено. Все равно спасибо!
codefln
@codefln
Jan 07 2017 12:52

Братья! Каким образом можно обрабатывать Middleware по очереди в роутере?

К примеру есть такой роутер в админку:

Route::group([ 'middleware' => ['admin.ipcheck','auth'] ], function () { #code... });

Первый мидл делает проверку на подходящий, ip а второй уже запрашивает авторизацию.

Но первым отрабатывает мидл auth, а не второй мой. Как быть?

JhaoDa
@jhaoda
Jan 07 2017 13:15
@codefln поменять их местами?
cleargoal
@cleargoal
Jan 07 2017 13:21
добрый день
KarmaBot
@KarmaBot
Jan 07 2017 13:21
@cleargoal и тебе не хворать :)
cleargoal
@cleargoal
Jan 07 2017 13:22
я несколько раз выполнял эту команду
vagrant box add laravel/homestead
и теперь не знаю - сколько и каких у меня боксов добавлено/запущено...
это как-то возможно промониторить?
JhaoDa
@jhaoda
Jan 07 2017 13:24
@cleargoal ты чатом ошибся
cleargoal
@cleargoal
Jan 07 2017 13:25
@jhaoda да? гм, думал - хомстед напрямую относится к Ларе
JhaoDa
@jhaoda
Jan 07 2017 13:26
@cleargoal с чего вдруг?
cleargoal
@cleargoal
Jan 07 2017 13:26
@jhaoda а зачем он еще нужен?
JhaoDa
@jhaoda
Jan 07 2017 13:26
@cleargoal не знаю, я без него обхожусь прекрасно
cleargoal
@cleargoal
Jan 07 2017 13:27
@jhaoda ок, пойду в офтоп спрошу
Alexander
@Dualse
Jan 07 2017 14:57
@dracony Статья о том, какaя крутая DI в symfony?
JhaoDa
@jhaoda
Jan 07 2017 14:58
@Dualse глупый. Это о том, что пикси круче, чем ларавел
Alexander
@Dualse
Jan 07 2017 14:59
@jhaoda (
Dave
@aios
Jan 07 2017 15:08
@jhaoda пикси не ок...
JhaoDa
@jhaoda
Jan 07 2017 15:08
@aios а это уже оффтоп и оскорбление чувств верующих
Dave
@aios
Jan 07 2017 15:09
теперь не оскорбление.
nitrogenium
@nitrogenium
Jan 07 2017 15:18
Как сделать маршрут с фиксированными параметрами?
Route::get('/test/add_big', 'TestsController@create')->withParam (‘type’,'big');
что то типа
те перехожу по add_big и вызывается create с параметром
JhaoDa
@jhaoda
Jan 07 2017 15:30
@nitrogenium а ты доку читал про роутинг?
nitrogenium
@nitrogenium
Jan 07 2017 15:32
да. Сходу не нашел
JhaoDa
@jhaoda
Jan 07 2017 15:33
@nitrogenium не нашел в оглавлении страницы второй пункт «Route Parameters»?
nitrogenium
@nitrogenium
Jan 07 2017 15:34
@jhaoda а как сделать фиксированый? /test/add_big вызывает create с одним параметров а /test/add_small с другим
/test/{param} не подходит
под него все подпадает
JhaoDa
@jhaoda
Jan 07 2017 15:35
@nitrogenium ну так доку почитай
nitrogenium
@nitrogenium
Jan 07 2017 15:36
@jhaoda Ткни носом в доку если не сложно. Самого параметра как такового в url нет.
@jhaoda Лучшее что работает Route::get(‘/test/add_big’, function(){ return App::make(‘TestController’)->create(‘big'); });
Но мне не нравится
Denis Isaychenko
@Rhincodon
Jan 07 2017 15:37
@nitrogenium Route::get('test/{param}', function ($param) { dd($param); })->where('param', 'small|big');
JhaoDa
@jhaoda
Jan 07 2017 15:37
@nitrogenium честно говоря, я не понимаю, что ты хочешь. У тебя уже есть в роуте всё, что надо
@Rhincodon спойлерист...
nitrogenium
@nitrogenium
Jan 07 2017 15:40
Надо что бы /test/add_big вызвал create c параметром (my_super_big) , /test/add_small вызвал create c параметром (just a little) и ничего больше. например /test/add_different под этот роут попадать не должен.
@Rhincodon да похоже оно. Спасиб :)
KarmaBot
@KarmaBot
Jan 07 2017 15:41
Спасибо (+1) для @Rhincodon принято! Текущая карма +45.
nitrogenium
@nitrogenium
Jan 07 2017 15:43
роут не обязательно связан с параметром передаваемым create. /test/add_one а вызываем ->create (1);
/test/add_two а вызываем ->create (2);
JhaoDa
@jhaoda
Jan 07 2017 15:43
@nitrogenium это уже не задача роутинга
Denis Isaychenko
@Rhincodon
Jan 07 2017 15:45
@nitrogenium раскрой задачу лучше, может ты что-то не то делаешь
Alexander Bobrov
@kca66y
Jan 07 2017 15:45
Добрый день! Подскажите, я сделал мидл для изменения url страниц, но сайт все время выдает 404.
Вот сама мидлуха.
Вот роут
Route::group(['middleware' => 'siteurl'], function () {

       Route::match(['get','post'], '/print', 'Coupon_Controller@printPage');
       Route::match(['get','post'], '/ended', 'Coupon_Controller@ended');
KarmaBot
@KarmaBot
Jan 07 2017 15:46
@kca66y, привет =)
JhaoDa
@jhaoda
Jan 07 2017 15:46
@kca66y ссылку заверни
Mezhevikin Alex
@mezhevikin
Jan 07 2017 15:48
привет
KarmaBot
@KarmaBot
Jan 07 2017 15:48
@mezhevikin, ну рассказывай. Как жизнь? :)
Mezhevikin Alex
@mezhevikin
Jan 07 2017 15:48

Есть система написанная на laravel5.2 запущенная на сервере с ubuntu(16.04 64bit) и lamp(php7, mysql5.7, apache2).

В системе есть задача которая запускается по расписанию и выполняется примерно пол часа, проблема в том что задача не выполняется до конца, а в лог пишет исключение:

PDOException: SQLSTATE[HY000] [2002] Connection refused in /vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:55
То есть изначально соединение с бд работает, потом примерно через 12 минут, при очередном запросе laravel пытается обновить соединение, после чего падает с этим исключением.

Гугленье проблемы дало совет поменять host в .env c localhost на 127.0.0.1, это не помогло.

При этом на локальной машине на mamp данная проблема не наблюдается и задача выполняется полностью.

В чем может быть проблема?

nitrogenium
@nitrogenium
Jan 07 2017 15:50
@Rhincodon @jhaoda Задача: Нужно добавлять 3 типа обьявлений, форма одна, но url разный. Нужно передать тип в один метод create.
В cakephp это делается очень просто:
Router::connect(‘/test/add_one', array('controller' => 'Tests', 'action' => 'create','1'));
Router::connect(‘/test/add_two', array('controller' => 'Tests', 'action' => 'create','2'));
Denis Isaychenko
@Rhincodon
Jan 07 2017 15:52
@nitrogenium что мешает сабмитить формы на урл передавая сразу нужный параметр без проксирующих add_one и тд?
nitrogenium
@nitrogenium
Jan 07 2017 15:54
@Rhincodon сабмитятся они и так на один урл. Речь про урл "отрисовки" формы
Ваня Devium
@webdevium
Jan 07 2017 15:55
@nitrogenium ты про урлы типа getForm?
nitrogenium
@nitrogenium
Jan 07 2017 15:56
@Rhincodon Или вот задача в общем виде.Суть таже. Кусок кода cakephp:
Router::connect('/ad/', array('controller' => 'pages', 'action' => 'display','ad'));
Router::connect('/terms/', array('controller' => 'pages', 'action' => 'display','terms'));
Ваня Devium
@webdevium
Jan 07 2017 15:56
@mezhevikin мне кажется, тебе надо увеличить connection timeout в мускуле
nitrogenium
@nitrogenium
Jan 07 2017 15:56
какой аналог будет в laravel ?
'ad' и 'terms' в данном случае параметры метода display
Ваня Devium
@webdevium
Jan 07 2017 15:58
@nitrogenium route('/get/form', ['нужный тебе тип']);
а сам роут
Route::get('/get/form/{type}', 'Controller@getForm')
Mezhevikin Alex
@mezhevikin
Jan 07 2017 15:58
@webdevium сейчас попробую
Ваня Devium
@webdevium
Jan 07 2017 15:58
@mezhevikin у тебя на локалке мамп или что там, там мускул идентичный с серверным?
Denis Isaychenko
@Rhincodon
Jan 07 2017 15:59
@nitrogenium ну когда динамический сегмент равен тому что должен получить метод, то я выше написал код. Если сегмент не равен, то его уже нужно преобразовывать в методе контроллера в нужный, можно в хелпер вынести это дело.
nitrogenium
@nitrogenium
Jan 07 2017 15:59
Router::connect('/ad/', array('controller' => 'pages', 'action' => 'display','my_string'));
@Rhincodon т.е. всеравно передавать динамический сегмент из url и в методе контроллера уже преобразовывать? Сразу передать то что нужно нельзя?
Alexander Bobrov
@kca66y
Jan 07 2017 16:01
@jhaoda завернул :D
Mezhevikin Alex
@mezhevikin
Jan 07 2017 16:01
@webdevium на mamp более старая версия.
Ваня Devium
@webdevium
Jan 07 2017 16:01
@mezhevikin фуфло эти мампы... На серваках всегда все не так)
Пробуй timeout increase
Denis Isaychenko
@Rhincodon
Jan 07 2017 16:02
@nitrogenium ещё можно так по идее https://laravel.com/docs/5.3/routing — раздел Customizing The Resolution Logic
но хотя это больше вариант куда вынести это преобразование
Mezhevikin Alex
@mezhevikin
Jan 07 2017 16:03
@webdevium так?
wait_timeout = 28800
interactive_timeout = 28800
Ваня Devium
@webdevium
Jan 07 2017 16:03
@mezhevikin ну, сверся в доке
Mezhevikin Alex
@mezhevikin
Jan 07 2017 16:04
@webdevium кинь линк если не сложно
Ваня Devium
@webdevium
Jan 07 2017 16:04
@mezhevikin Просто я НИКОГДА не сталкивался с задачами на пол часа)))
Mezhevikin Alex
@mezhevikin
Jan 07 2017 16:04
@webdevium я просто "timeout increase" не вижу такого параметра
nitrogenium
@nitrogenium
Jan 07 2017 16:05
@Rhincodon Понял что проще передавать то что есть url. Так как я из мира cakephp то просто искал аналог: Router::connect('/ad/', array('controller' => 'pages', 'action' => 'display','my_string'));
Ваня Devium
@webdevium
Jan 07 2017 16:05
@mezhevikin ох, сложно... Increase - увеличение на английском
программисты :)
Alexander Bobrov
@kca66y
Jan 07 2017 16:06
:smile:
Ваня Devium
@webdevium
Jan 07 2017 16:06
@mezhevikin старое унылое фуфло, но ты поймешь. Там на русском.
Mezhevikin Alex
@mezhevikin
Jan 07 2017 16:07
@webdevium спасибо. попробую
KarmaBot
@KarmaBot
Jan 07 2017 16:07
Спасибо (+1) для @webdevium принято! Текущая карма +87.
Andrei Sosnov
@atehnix
Jan 07 2017 16:08

@nitrogenium

Сразу передать то что нужно нельзя?

Можно, но не нужно. Т.к. создавать/изменять параметры - это не задача роутера.
Если в cakephp так сделано, это еще не значит, что они правы. ;)

Alexander Bobrov
@kca66y
Jan 07 2017 16:11
@webdevium может и мою проблемку заценишь? если не в лома)
Ваня Devium
@webdevium
Jan 07 2017 16:12
@kca66y ткни на ссылку
Alexander Bobrov
@kca66y
Jan 07 2017 16:13
@webdevium как :D
Ваня Devium
@webdevium
Jan 07 2017 16:14
@kca66y найди свою проблему, альт+контрол+мышкой клик на время
Alexander Bobrov
@kca66y
Jan 07 2017 16:14
@webdevium :sparkles:
Andrei Sosnov
@atehnix
Jan 07 2017 16:16
@kca66y так посмотри куда твоя мидлваря пытается редирект сделать.. ;)
dd($response .'/'. $request->path());
Alexander Bobrov
@kca66y
Jan 07 2017 16:16
@atehnix ну так она и должна добавлять к url'у response
Ваня Devium
@webdevium
Jan 07 2017 16:17
@kca66y фуфу
шо оно делает?
Alexander Bobrov
@kca66y
Jan 07 2017 16:17
@webdevium :smile: доктор, все плохо?
Ваня Devium
@webdevium
Jan 07 2017 16:17
@kca66y очень плохо
Alexander Bobrov
@kca66y
Jan 07 2017 16:18
@webdevium да блин, я так и понял как в prefix можно кастомный параметр объявлять(
Ваня Devium
@webdevium
Jan 07 2017 16:19
@kca66y шо значит кастомный?
@kca66y короче, ты нарисуй всю задачу, так быстрее будет
Andrei Sosnov
@atehnix
Jan 07 2017 16:19
@kca66y ты говоришь "все время выдает 404"(с)
Я тебе и предлагаю посмотреть, куда она посылает.
Ну и сравнить с artisan route:list.
Alexander Bobrov
@kca66y
Jan 07 2017 16:20
@webdevium Смотри, юзер заходит на сайт, тыкает на город и во все url добавляется slug того города в формате site.com/город/ссылки.
Ваня Devium
@webdevium
Jan 07 2017 16:21
@kca66y
/{slug?}/route/1
/{slug?}/route/2
/{slug?}/route/3
такэ?
Alexander Bobrov
@kca66y
Jan 07 2017 16:23
@webdevium да
Ваня Devium
@webdevium
Jan 07 2017 16:24
@kca66y Тогда послушайся дядю Андрея, и выведи куда оно редиректит. Мне кажется, ты slug без знака вопроса указал, а оно ниче не подставляет.
Denis Isaychenko
@Rhincodon
Jan 07 2017 16:26
@kca66y ты редиректишь на {city}/..., но роуты ты то такие не объявил видимо
роуты ты )
Alexander Bobrov
@kca66y
Jan 07 2017 16:34
@Rhincodon да, но как мне их объявить? как в prefix вставить именно тот город?
Ваня Devium
@webdevium
Jan 07 2017 16:36
@kca66y route('/route/1', ['slug'=>'piter']); думаю так.
Alexander Bobrov
@kca66y
Jan 07 2017 16:41
@webdevium не понятно :worried:
Dave
@aios
Jan 07 2017 16:55
@kca66y марш читать доку
ваще обленились!
Ваня Devium
@webdevium
Jan 07 2017 18:22
Ребята, кто как выкручивается, если нужно записать в базу много значений? Скажем, 1М.
JhaoDa
@jhaoda
Jan 07 2017 18:23
@webdevium а что выкручиваться? Взял и записал
Ваня Devium
@webdevium
Jan 07 2017 18:23
@jhaoda так висит же все, пока пишется
widg
@widg
Jan 07 2017 18:24
@webdevium это критично?
Ваня Devium
@webdevium
Jan 07 2017 18:24
@jhaoda Хотя, Темыч, я о другом: делать 1М инсертов - ЗЛО.
@widg пипец как критично
Alexander
@Dualse
Jan 07 2017 18:25
@webdevium одним инсертом?
JhaoDa
@jhaoda
Jan 07 2017 18:25
@Dualse буфер порвётся
Ваня Devium
@webdevium
Jan 07 2017 18:25
@Dualse самому собрать инсерт?
JhaoDa
@jhaoda
Jan 07 2017 18:26
@webdevium сделай тысячу инсертов по тысяче элементов. В транзакции
Ваня Devium
@webdevium
Jan 07 2017 18:26
@jhaoda Оно счас так и работает. Все равно висит адско.
Ivan
@Hunternnm
Jan 07 2017 18:28
@webdevium может в очереди его?
Ваня Devium
@webdevium
Jan 07 2017 18:28
@Hunternnm Вань, а это фильтры пишутся на продукт. Если в очереди будут, то пользователь сможет увидеть продукт, пока для него пишется запретный фильтр. + кеш. Все сложно
Ivan
@Hunternnm
Jan 07 2017 18:44
@webdevium ой всё
Ваня Devium
@webdevium
Jan 07 2017 18:44
@Hunternnm аххх)))
Andrew Romanov
@roman0v
Jan 07 2017 18:52
добрый день
KarmaBot
@KarmaBot
Jan 07 2017 18:52
@roman0v и тебе не хворать :)
Andrew Romanov
@roman0v
Jan 07 2017 18:53
меня разблокировали спустя год, и у меня появился вопрос
Ваня Devium
@webdevium
Jan 07 2017 18:53
жги :)
Ivan
@Hunternnm
Jan 07 2017 18:56
О, год ждал =)
Andrew Romanov
@roman0v
Jan 07 2017 18:58

у меня имеется модель User и модель Task
я передаю в шаблон модель Task, вот таким образом
['task' => $task]
и я это не вызывает никаких проблем
но к модели Task привязана модель пользователя User
вот таким образом
$table->integer('author_id')->unsigned(); $table->foreign('author_id')->references('id')->on('users');
и я хочу в шаблоне получать доступ к данным из модели User через модель Task

ps. ранее я использовал django и там все это происходило автоматически, если в таблице была связь, сейчас же, в laravel это не удается
ps. примеры вот отсюда https://laravel.ru/docs/v5/eloquent-relationships я пробовал, но они работают только на первой записи Task, а на последующих появляются ошибки.

можно конечно передать в шаблон все, но зачем писать лишний код???
наверняка есть решение
Ваня Devium
@webdevium
Jan 07 2017 18:58
@roman0v буэ
плохо читал
Andrew Romanov
@roman0v
Jan 07 2017 18:59
подскажи пожалуйста, где ошибка
Ваня Devium
@webdevium
Jan 07 2017 18:59
ты саму связь в моделях прописал?
Andrew Romanov
@roman0v
Jan 07 2017 18:59
public function author() { return $this->hasOne('App\Models\User', 'tasks.author_id'); }
да
ой
это я другой вариант пробовал, там просто author_id
и получается что первая модель ссылается на вторую, а вторая на первую
и когда я добавляют еще одну модель Task, но пользователь у меня остается 1, то оказывается что ей не к чему обратиться
Ваня Devium
@webdevium
Jan 07 2017 19:01
@roman0v belongsTo
читай доку
Andrew Romanov
@roman0v
Jan 07 2017 19:01
у User нужно это прописать?
JhaoDa
@jhaoda
Jan 07 2017 19:02
@roman0v тебя никто не разблокировал. И, подозреваю. не блокировал.
Ваня Devium
@webdevium
Jan 07 2017 19:02
@roman0v нет,
таска относится к пользователю
значит писать надо в таску
короче, читай доку еще раз
желательно в оригинале
Andrew Romanov
@roman0v
Jan 07 2017 19:03
@jhaoda блокировали, я когда-то задал вопрос и тут появился какой-то хам, я его поставил на место и больше я писать не мог
JhaoDa
@jhaoda
Jan 07 2017 19:04
@roman0v поверь мне, тебя никто не разблокировывал за последние полгода как минимум
Andrei Sosnov
@atehnix
Jan 07 2017 19:04

@roman0v гы)

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

Ой, да ладно, тебя забанили на 1 сутки, причем в июле, а не год назад.)

Andrew Romanov
@roman0v
Jan 07 2017 19:04
@webdevium а почему в документации написано что нужно в противоположной модели указывать belongsTo?
ну я не заходил сюда, поэтому не знаю срок
Ваня Devium
@webdevium
Jan 07 2017 19:05
@roman0v вот скажи, ты головой думать пробовал? Ответь сам себе на два вопроса: сколько тасок может иметь один пользователь и к кому относится таска. И это напиши в связях.
Andrew Romanov
@roman0v
Jan 07 2017 19:08
ну так пользователи имеют таски, а ты говоришь, что нужно это описывать в тасках
ладно, я кажется понял
Ваня Devium
@webdevium
Jan 07 2017 19:09
@roman0v я последней репликой ответил тебе на вопрос "почему в доке написано, что нужно писать в обоих моделях"
Andrew Romanov
@roman0v
Jan 07 2017 19:10
@webdevium я понял, извини пожалуйста, не злись
Igor Markin
@markinigor
Jan 07 2017 20:33
@roman0v советую разобраться переводом слов hasOne, hasMany и belongsTo в связях ларавели.. хотя если ты полгода с прошлого бана изучал ларавель и не понимаешь как работают простейшие связи, то может ну его эту ларавель?
Anton Vorontsov
@symbios-zi
Jan 07 2017 20:39
Битрикс наше все
KarmaBot
@KarmaBot
Jan 07 2017 20:39
@symbios-zi, :see_no_evil: :fire:
Anton Vorontsov
@symbios-zi
Jan 07 2017 20:39
@KarmaBot что ты? ))
Alexander
@Dualse
Jan 07 2017 21:01

@jhaoda блокировали, я когда-то задал вопрос и тут появился какой-то хам, я его поставил на место и больше я писать не мог

:facepalm:

@roman0v Наверно этот хам был родственником Путина, поэтому тебя и забанили
Надеюсь за политу не забанят)
Dave
@aios
Jan 07 2017 21:16
@Dualse помоему на место поставили его....