@laravel_pro

Страница 1653 из 2014
russik
28.07.2018
16:54:55
Не ругайтесь

Шерали
28.07.2018
17:52:03
Все привет. Подскажите по сервис-провайдерам. Например, я пишу свой класс с нужным мне функционалом. Правильно ли я понимаю, что в Laravel хорошей практикой считается свои классы обрамлять в сервис правайдеры? Ну, а потом, где это необходимо инжектить.

Неправильно выразился. Точнее не обрамлять, а создавать сервис провайдер и связывать его со своим классом

Google
russik
28.07.2018
17:54:56
config/app.php

Denis
28.07.2018
17:55:19
Нет. Если только для этого то не надо. Тут хватит autoload

Шерали
28.07.2018
18:03:29
То есть, если я пишу свои классы, то просто можно создать отдельную папочку и там их хранить. В самих файлах указывать нэймспэйс, и юзать их где нужно. Это нормально в контектсе Laravel?

russik
28.07.2018
18:16:19
Да

Отдельная папка не Web контроллеры, отдельная на api

russik
28.07.2018
18:16:52
Как пример

Только в рутах будешь писать папка/имя контроллера

@функция

Maksim (Ellrion)
28.07.2018
18:18:27
Да и даже если тебе нужно это то есть апп сервис провайдер, так что отдельный может и не понадобится

Шерали
28.07.2018
18:21:42
Ок. Это понял. Но в каких случаях стоит прибегать к созданию сервис-провайдеров?

Евгений
28.07.2018
18:23:33
даже в доках есть примеры где пишут типа ну создайте свою папку и кладите туда файлы, то есть никаких артизан генераторов заранее на это нет. Например ViewComposer

Google
Maksim (Ellrion)
28.07.2018
18:24:26
Ок. Это понял. Но в каких случаях стоит прибегать к созданию сервис-провайдеров?
Пррвайдеры это точка где ты регистрируешь классы в контейнере и настраиваешь ещё что то. Если у тебя целая подсистема и этих действий много то нужен отдельный пррвайдер.

Vadim
28.07.2018
18:39:00
Такой вопрос, в чем разница между этими двумя строчками: $task = new \App\Task; и $task = new App\Task;

Subb98
28.07.2018
18:42:36
в наличии корневого неймспейса?

<?php namespace Ebobo; throw new \Exception("It's OK!"); throw new Exception("Fuck yourself!");

Anton
28.07.2018
18:59:12
Кто заметил что в ларакасте Джефри использовал абривиатуру nah для удаления всего и возврата в прежденее состояние в git (возврат в HEAD)? и вот на лараконе Тео Отвел используют команду в линухе (алиас) nah в гите для того же ???

кто ж их научил русскому нахер ?? :)))

russik
28.07.2018
19:00:45
Скоро в ларе будет команда - куда бля, она будет откатывать все миграции до базовых

Anton
28.07.2018
19:01:19
не можнт это просто чтто там на naHead? но тогда вопрос

что такое na )))

Андрей
28.07.2018
19:01:27
Тоже видел про nah

Anton
28.07.2018
19:01:42
https://laracasts.com/series/unlocking-badges-workshop/episodes/6

Блин, хорошая штука ) https://community.algolia.com/places/

[Anonymous]
28.07.2018
19:28:42
Anton
28.07.2018
19:29:32
1000 в день бесплатно

запросов

https://community.algolia.com/places/pricing.html

там если зарегился 100,000 requests/ month бесплатно

[Anonymous]
28.07.2018
19:31:24
это называется блять платно!

у тебя посещаемость на проектах какая?

есть и бесплатные сервисы и такое решение достаточно просто сделать на своем сервере.. Так что смысла нет

Google
Andrey
28.07.2018
20:46:07
кто ж их научил русскому нахер ?? :)))
Статья о таком алиасе ещё в августе 2017 была на https://laravel-news.com/bash-aliases

Илья
28.07.2018
21:12:32
что такое na )))
все проще https://translate.google.com/#en/ru/nah

Andrey
28.07.2018
22:23:46
все проще https://translate.google.com/#en/ru/nah
Я думал что "неа" - это "nope"

Denis
28.07.2018
23:07:04
Проверю-ка и я силу вселенского разума :) Я использую некую админку (laravel-admin от encore), которая в частности строит список строк по модели (допустим отражение таблицы "wallets", неких кошельков. Также есть модель "history" с историей транзакций по всем кошелькам. И вот понадобилось в таблице с кошельками видеть и сортировать кошельки по суммам входящих транзакций. Нужно сказать, что админка несколько топорная, максимум что можно сделать — модифицировать запрос к БД в контроллере, в котором в RAW запросе вставить серию джойнов, в результате чего будут выбраны аггрегаты, например те же суммы входящих транзакций. По большому счёту, админка не умеет адекватно работать с отношениями, в ней можно обращаться к отношению в конкретной ячейке, но количество запросов увеличивается равноценно на количество строк. Не кушает она и обёртки "with()". То, что я сделал — работает, модифицированный запрос прекрасно кушается, по его результатам, в том числе по "виртуальным" аггрегатам работает сортировка и т.п. НО: это нарушает одну из основных парадигм MVC (толстые модели, тонкие контроллеры). Да и в целом напрашивается перенос запроса в модель. Внимание вопрос: Можно ли в модели Eloquent (а админка принимает только Eloquent) поменять запрос так, чтобы в нём выбирались и серии аггрегатов из разных таблиц. Или нет?

Liv
29.07.2018
05:18:56
Проверю-ка и я силу вселенского разума :) Я использую некую админку (laravel-admin от encore), которая в частности строит список строк по модели (допустим отражение таблицы "wallets", неких кошельков. Также есть модель "history" с историей транзакций по всем кошелькам. И вот понадобилось в таблице с кошельками видеть и сортировать кошельки по суммам входящих транзакций. Нужно сказать, что админка несколько топорная, максимум что можно сделать — модифицировать запрос к БД в контроллере, в котором в RAW запросе вставить серию джойнов, в результате чего будут выбраны аггрегаты, например те же суммы входящих транзакций. По большому счёту, админка не умеет адекватно работать с отношениями, в ней можно обращаться к отношению в конкретной ячейке, но количество запросов увеличивается равноценно на количество строк. Не кушает она и обёртки "with()". То, что я сделал — работает, модифицированный запрос прекрасно кушается, по его результатам, в том числе по "виртуальным" аггрегатам работает сортировка и т.п. НО: это нарушает одну из основных парадигм MVC (толстые модели, тонкие контроллеры). Да и в целом напрашивается перенос запроса в модель. Внимание вопрос: Можно ли в модели Eloquent (а админка принимает только Eloquent) поменять запрос так, чтобы в нём выбирались и серии аггрегатов из разных таблиц. Или нет?
А почему ты выбрал именно эту админку? Взял бы voyager - она умеет со связями работать

Anton
29.07.2018
07:05:21
А ты только на чтение достаешь данные? Если да - используй view ?

Nioray
29.07.2018
10:41:50
вот у менят методы в контроллере. и там я делаю запросы на то что мне нужно. мне по правильному их выносить в модель? http://prntscr.com/kcd4k7

Andrey
29.07.2018
10:58:15
вот у менят методы в контроллере. и там я делаю запросы на то что мне нужно. мне по правильному их выносить в модель? http://prntscr.com/kcd4k7
О релейшенах слышал? В модели test создай релейшен questions, в модели вопросов - answers. При этом раскладе у тебя код будет: $test = Test::whereSlug($slug) ->with('questions.answer') ->firstOrFail(); return view('tests', compact('test'));

Евгений
29.07.2018
11:01:03
теперь слышал

https://laravel.com/docs/5.6/eloquent-relationships

Andrey
29.07.2018
11:01:49
нет
Я там коммент обновил: https://t.me/laravel_pro/165246

Nioray
29.07.2018
11:03:10
Так стоп. У меня прописаны отношения везде.

Я ж спрашивал это нормально запросы в контроллере держать или мне их в метод модели вынести. Или еще куда то?

Andrey
29.07.2018
11:03:51
Контроллер должен только контролировать запрос, а не выполнять его. Работу с запросами выносят либо в репозитории, либо в сервисы.

Andrey
29.07.2018
11:05:02
Юзать select в твоей ситуации, имхо, дичь.

Andrey
29.07.2018
11:05:55
спасиб
Создают папки app/Repositories либо app/Services и в них кладут логику.

Google
Andrey
29.07.2018
11:06:18
почему?
Потому что у тебя есть eloquent и релейшены, а ты суешь в них костыли. Код, который ты написал, должен выглядеть так: https://t.me/laravel_pro/165246

Nioray
29.07.2018
11:11:27
А нормально то что я получаю еще сверху кучу данных, которые мне по итогу не нужны? Ну я для этого селект и вставлял. Ну тоесть мне от теста нужна длительность и имя. а придет еще куча его опций. это норм?

Andrey
29.07.2018
11:11:37
И мой тебе совет: пользуйся переносом строк при написании столь длинных вызовов. Как ты вообще в одну строку код ещё писать не начал? Читать же сложно...

Andrey
29.07.2018
11:14:44
$test = Test::whereSlug($slug) ->with('questions:id,foo,bar', questions.answer:foo,bar') ->firstOrFail(['id, 'duration', 'name', 'slug']); return view('tests', compact('test'));

Nioray
29.07.2018
11:21:02
Admin
ERROR: S client not available

Andrey
29.07.2018
11:37:16
Сергей
29.07.2018
11:57:23
Ребята, добрый день. Вопрос по валидации. Можно ли валидировать пришедший с формы идентификтор не через имя таблицы ('user_id' => 'exists:users,id') а через модель?

Сергей
29.07.2018
12:03:47
Лучше напиши свой через Validator::extend
А вы как делаете в таких случаях?

Через таблицу или через модель

russik
29.07.2018
12:04:46
Зачем тебе через модель?

Дмитрий
29.07.2018
12:04:50
Я не знаю что ты подразумеваешь под «через модель»

russik
29.07.2018
12:05:32
+

Сергей
29.07.2018
12:07:19
Я не знаю что ты подразумеваешь под «через модель»
В качестве источника иформации используется имя модели и поле идентификатора берётся из неё

Дмитрий
29.07.2018
12:09:10
Зачем

Google
Alexander
29.07.2018
13:02:03
Друзья, кто сталкивался с такой проблемой: Есть приложение, API на данный момент разрабатывать смысла нет, монолит на ларе. Сейчас потихоньку фронтенд переписываю на vue, в итоге получается, что некоторые данные я должен подгружать через ajax'ы. Как поступать в данных случаях? Т.е. должны быть отдельно маршруты под ajax'ы? Я сейчас делаю костыльно, т.е. так: Route::group(['prefix' => '/ajax'], function(){ Route::get('/order/all', 'OrderController@getDataViaAjax')->name('ajax.order.all'); Route::get('/client/getbyphone', 'ClientController@getClientByPhone')->name('ajax.client.getbyphone'); Route::get('/client_sources/all', 'ClientSourceController@getAllViaAjax')->name('ajax.client_sources.all'); }); Но чувствую, что скоро это станет очень неубодным и убогим способом, по мере расширения

Roma
29.07.2018
13:11:54
Ребят, нужна помошь, взял таску, сделал, на сервере локально все работает, обновили проект на 000webhosting, там обычный запрос с js на php через xmlHttpReqvest, выдает внутриняя ошибка сервера 500

Упрямый
29.07.2018
13:20:29
пацаны, а где-нибудь можно почитать/посмотреть как всё это работает в ларавел, от public/index.php до самого конца, вывода response?

Упрямый
29.07.2018
13:22:47
https://laravel.ru/docs/v5/lifecycle
более развернуто

Артём
29.07.2018
13:23:00
Смотри сорцы

Упрямый
29.07.2018
13:24:08
сложно)

Nikitcat
29.07.2018
13:32:46
Кто-то OpenServer'oм пользуется? Нужен же .htaccess в доменной папке?

чтобы на паблик направлял

Azer
29.07.2018
13:41:42
использую этот пакет https://github.com/dimsav/laravel-translatable

как мне выводить данные только в одном языке

точнее я хочу это все черех api передать

а там со всеми языками передается

хочу выбрать зависимо от запроса взять один язык

F01134H
29.07.2018
14:02:01
а там со всеми языками передается
так там же есть выборка

Country::whereTranslation('name', 'Greece')->first();

Country::whereTranslation('name', 'Greece', 'en')->first();

локаль вон передаешь и все

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