These are chat archives for LaravelRUS/chat

9th
Apr 2017
Roman
@fearrr
Apr 09 2017 05:12
Привет. Подскажите почему не хочет кушать второй маршрут, регулярки протетстил
Route::get('catalog/{category}', 'CategoriesController@show')->where('category', '[a-zA-Z0-9\-/_]+');

Route::get('catalog/{category}/{product}', 'GoodsController@show')
    ->where('category', '[a-zA-Z0-9\-/_]+')
    ->where('product', '[0-9]+-[a-zA-Z0-9_-]+');
KarmaBot
@KarmaBot
Apr 09 2017 05:12
Приветствую тебя, @fearrr!
Dave
@aios
Apr 09 2017 05:17
@fearrr второй первым сделай.
Roman
@fearrr
Apr 09 2017 05:18
@aios блин, точняк
@aios спасибо)
KarmaBot
@KarmaBot
Apr 09 2017 05:18
Спасибо (+1) для @aios принято! Текущая карма +336.
Philip P.
@pilipchuk-philip
Apr 09 2017 10:01
@fearrr Поменяй местами и всё будет работать
Всем привет, подкажите что не так с запросом?
$products = \App\Product::where('category_id', 1) ->has('attributes' , '>=' , $request->input('attr')) ->orderBy('price', 'asc') ->paginate(8);
Причем не работает лишь связь ManyToMany из доки вроде has() должен мне был помочь(
KarmaBot
@KarmaBot
Apr 09 2017 10:06
Прувет, @pilipchuk-philip!
Alexander
@Dualse
Apr 09 2017 10:07
@pilipchuk-philip Что значит "не работает лишь связь"?
Philip P.
@pilipchuk-philip
Apr 09 2017 10:07
@Dualse Когда я пытаюсь вернуть все продукты у которых Attribute равен введенному числу
Alexander
@Dualse
Apr 09 2017 10:09
@pilipchuk-philip Как может быть связанная таблица равно определенному числу?
Philip P.
@pilipchuk-philip
Apr 09 2017 10:11
has('attributes' , '=' , 4) Где 4 это ИД атрибута
Alexander
@Dualse
Apr 09 2017 10:12
@pilipchuk-philip так и говори, что тебе нужно условие, которое будет искать элемент с заданным ид
следовательно тебе надо юзать whereHas
Philip P.
@pilipchuk-philip
Apr 09 2017 10:14
@Dualse можешь подсказать как запрос должен выглядеть?
$posts = Post::whereHas('comments', function ($query) { $query->where('content', 'like', 'foo%'); })->get();
Alexander
@Dualse
Apr 09 2017 10:15
@pilipchuk-philip Ну вот подставь свои значения
Я тоже могу доки читать)
И не забудь вызвать ->with('attributes'), чтобы тебе вернуло твою связанную запись
Хотя, подожди. У тебя же есть связь между атрибутами и продуктоами?
Philip P.
@pilipchuk-philip
Apr 09 2017 10:20
@Dualse да
Alexander
@Dualse
Apr 09 2017 10:25
@pilipchuk-philip Ну тогда все верно. Юзай методы, которые выше написал
Philip P.
@pilipchuk-philip
Apr 09 2017 10:36
Оказалось всё намного проще, нужно было сначала просто указать функцию has() перед последующими условиями
Alexander
@Dualse
Apr 09 2017 10:37
@pilipchuk-philip А каким образом перестановка методов местами влияет на результат?
Philip P.
@pilipchuk-philip
Apr 09 2017 10:39
@Dualse я не уверен что вопрос по адресу, но $products = \App\Product::has('attributes',1)->where('category_id')->get(); как раз и выдаёт верные записи
Alexander
@Dualse
Apr 09 2017 10:41
@pilipchuk-philip Эм, а что ты этим условием пытаешься найти? Все продукты, у которых есть один атрибут и есть category_id?
Philip P.
@pilipchuk-philip
Apr 09 2017 10:41
да
Alexander
@Dualse
Apr 09 2017 10:42
Выглядит бредово, я про ->where('category_id')
Philip P.
@pilipchuk-philip
Apr 09 2017 10:43
@Dualse эх, я то знаю(
Alexander
@Dualse
Apr 09 2017 10:43
@pilipchuk-philip Я просто уверен, что если ты уберешь это условие, то у тебя ничего не изменится

И вообще не понимаю, в какой момент у тебя изменились условия задачи.
Изначально было

Когда я пытаюсь вернуть все продукты у которых Attribute равен введенному числу

Потом неожиданно стало

Все продукты, у которых есть один атрибут и есть category_id

Philip P.
@pilipchuk-philip
Apr 09 2017 10:47
@Dualse да ты снова оказался прав, это совершенно не то что мне нужно
D3-FC
@D3-FC
Apr 09 2017 12:40
Привет всем
KarmaBot
@KarmaBot
Apr 09 2017 12:40
@D3-FC, здравствуй.
Ваня Devium
@webdevium
Apr 09 2017 12:40
@D3-FC доброго
D3-FC
@D3-FC
Apr 09 2017 12:42

$query->selectRaw('( 3959 * acos( cos( radians(:lat) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(:lng) ) + sin( radians(:lat) ) * sin(radians(lat)) ) ) as distance', ['lat' => 12, 'lng' => 24])->get();

подскажите что делаю неправильно. не работает prepare sql
Но если захардкодить значения:

$query->selectRaw('( 3959 * acos( cos( radians(12) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(24) ) + sin( radians(12) ) * sin(radians(lat)) ) ) as distance')->get()

работает

Ваня Devium
@webdevium
Apr 09 2017 12:43
посмотри какой запрос генерируется
JhaoDa
@jhaoda
Apr 09 2017 12:44
@D3-FC а чо делает cos( radians( lat ) )?
D3-FC
@D3-FC
Apr 09 2017 12:45
@webdevium
2017-04-09T12:44:36.631583Z   39 Prepare    select ( 3959 * acos( cos( radians(?) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(?) ) + sin( radians(?) ) * sin(radians(lat)) ) ) as distance from `projects` where `projects`.`deleted_at` is null
Andrey
@daaner
Apr 09 2017 12:46
Прям страсти по вышке какие-то)
D3-FC
@D3-FC
Apr 09 2017 12:46
@jhaoda честно говоря понятия не имею. целиком это формула для просчёта дистанции по кординатам
JhaoDa
@jhaoda
Apr 09 2017 12:47
@D3-FC окай, я уточню. Что такое lat в этой формуле? Заметь, не :lat, а lat
D3-FC
@D3-FC
Apr 09 2017 12:47
@jhaoda latitude longitude
Ваня Devium
@webdevium
Apr 09 2017 12:47
недобиндинг это
D3-FC
@D3-FC
Apr 09 2017 12:48
@webdevium всмысле?
JhaoDa
@jhaoda
Apr 09 2017 12:48
Не зря я уточнил :)
Ваня Devium
@webdevium
Apr 09 2017 12:48
откуда в мускуле переменная LAT?
Andrey
@daaner
Apr 09 2017 12:48
А чисто из любопытства, где ты такую формулу откапал?
JhaoDa
@jhaoda
Apr 09 2017 12:48
Разговор плавно переезжает в оффтоп. Проходим, товарищи
Ваня Devium
@webdevium
Apr 09 2017 12:49
сделай все lat и long
:lat и :long, и правильно биндани
я все
D3-FC
@D3-FC
Apr 09 2017 12:49
@webdevium в мускуле это столбец lat
@jhaoda согласен. люди не то уточняют. вопрос конкретно по eloquent. Почему в SelectRaw не работает биндинг
где накосячил
вроде всё по доке
@webdevium ты немного не понял.
lat и lng - это колонки,
:lat и :lng - это переменные для биндинга
Ваня Devium
@webdevium
Apr 09 2017 12:51
та я уже вкурил, что натупил. Пытаюсь у себя повторить
пока все биндится без проблем
D3-FC
@D3-FC
Apr 09 2017 12:52
@jhaoda сорян что-то я криво прочитал, или ты добавил позже
@jhaoda
ответ
lat и lng - это колонки,
:lat и :lng - это переменные для биндинга
полагал что это итак очевидно, потому что если бы это был пресет я бы упомянул
JhaoDa
@jhaoda
Apr 09 2017 12:53
@D3-FC ну так я и написал, что не зря уточнил, потому что ты начал рассказывать про английские названия широты и долготы
Max Kolyadin
@maxflex
Apr 09 2017 13:00
Всем привет. Кто-нибудь работал с vue-cli?
JhaoDa
@jhaoda
Apr 09 2017 13:00
@D3-FC и — нет, не очевидно. Так как ты не понимаешь, что это за формула, то мог и забыть дополнительные биндинги
QuarK
@quark3
Apr 09 2017 14:24
Привет всем! Посоветуйте, пожалуйста, с чего лучше начать изучение данного фреймворка? Столько различных ресурсов в инете, но вот структуры изучения как таковой нет.
KarmaBot
@KarmaBot
Apr 09 2017 14:24
@quark3, и тебе привет ;)
JhaoDa
@jhaoda
Apr 09 2017 14:28
@quark3 с чтения официальной документации. Берешь и читаешь два-три раза подряд, как книгу, не пытаясь понять и запомнить каждую строку. После этого ты будешь знать, что вообще фреймворк умеет и в каком разделе документации почитать подробней про какое-то конкретное «что».
Igor Markin
@markinigor
Apr 09 2017 14:34
@jhaoda и опять самый главный совет :)
@quark3 во время прочтения офф документации ты наткнешься на ссылку на видеоресурс, не забудь его посмотреть
D3-FC
@D3-FC
Apr 09 2017 14:34
@jhaoda @webdevium
ответ был прост. Надо читать доку по PDO
You must include a unique parameter marker for each value you wish to pass in to the statement when you call PDOStatement::execute(). You cannot use a named parameter marker of the same name more than once in a prepared statement, unless emulation mode is on.
JhaoDa
@jhaoda
Apr 09 2017 14:35
@D3-FC так у тебя же всего два параметра в биндинге было, ты два и передавал
D3-FC
@D3-FC
Apr 09 2017 14:35
cos( radians(:lat) )
sin( radians(:lat) )
вот тут ошибка @jhaoda
JhaoDa
@jhaoda
Apr 09 2017 14:36
@D3-FC а, я просмотрел этот момент.
Проблема известная, но ведь читать доку по PDO скучно :) Вот её и не читают. Буквально пару дней назад был человек с такой проблемой, он никак не хотел верить, что дока по PDO спасет его. Он пытался взять меня на слабо, что бы я ему ответ сказал, мол, я сам не знаю и посылаю в доку :)
D3-FC
@D3-FC
Apr 09 2017 14:37
:D
@jhaoda "наши люди инструкции не читают"
JhaoDa
@jhaoda
Apr 09 2017 14:47
@markinigor да вот следовали бы ему ещё...
Автор вон тоже то-то замолчал, может, не понравился ему совет
D3-FC
@D3-FC
Apr 09 2017 14:49
@jhaoda и как, ты сдался?
JhaoDa
@jhaoda
Apr 09 2017 14:50
@D3-FC да мне пофиг вообще :)
D3-FC
@D3-FC
Apr 09 2017 14:50
:D
JhaoDa
@jhaoda
Apr 09 2017 14:52
Меня больше парит тот факт, что желающих реально изучить что-то, стать спецами и зарабатывать потом нормальные деньги намного меньше, чем желающих нахвататься вершков и зарабатывать вот прям сейчас. В итоге я ищу людей в команду месяцами...
D3-FC
@D3-FC
Apr 09 2017 14:58

@jhaoda это конечно печально. Но подобные амбиции парой приходят куда позже,скажу по личному опыту.
когда-то начинал, с того что взялся делать программу для аптеки госпиталя (в качестве инструментов выбрал vue + laravel), на тот момент не знал ни vue ни laravel.
И вообще ни одного фреймворка кроме jquery, если его можно таковым назвать.
Так что на тот момент нужно было сделать заказ и паралельно выучить laravel + vue
и вообще научиться работать с фреймворками. Да и пыху на от момент знвл только по урокам для чайников.
И я сам здесь задавал глупые вопросы, к которым ты мог бы отнестись с таким же скепсисом.
Но после, с каждым следующим проектом, старался вникать глубже и глубже. Стал интересоваться вопросами архитектуры и best practices мира OOP
перечитал кучу шаблонов, пересмотрел кучу лекций.
SOLID, GRASP и CleanCode Дяди Мартина.

Так что может люди просто ещё не дошли до этого уровня.

JhaoDa
@jhaoda
Apr 09 2017 15:00
@D3-FC все так начинали, но я-то про то, что люди не хотят из этого уютного болотца вылезать
Человек говорит, что юзает ларавел уже 3 года, а код уровня «вчера начал читать доку». Что ты делал эти три года, блин?
D3-FC
@D3-FC
Apr 09 2017 15:02
@jhaoda ну. возможно у него все тр года запарка была и он просто не делал ничего особо сложного, а все проекты были наподобии личной странички Васи Пупкина.
И у него не было времени. Хотя слабо верится. Скорее ты прав
наверно просто желания не было
JhaoDa
@jhaoda
Apr 09 2017 15:03
@D3-FC ага, ага. «у меня нет времени, мне надо пилить десять проектов, у меня семь детей и четыре ипотеки». Надо не больше работать, а больше зарабатывать.
D3-FC
@D3-FC
Apr 09 2017 15:08
@jhaoda Ну тут сложно однознано заявлять. Парой семью кормить надо. И работать приходится там где есть возможность.
Но да слабо верится что не нашлось пару часиков в день почитать что-нибудь или посмотреть вместо попить пивка или поиграться в игрушки.
Но кто мы чтобы судить
JhaoDa
@jhaoda
Apr 09 2017 15:18
@D3-FC ну ты же понимаешь, что это тупик? Невозможно всю жизнь пилить проекты уровня хоумпаг за копейки и в большом количестве
D3-FC
@D3-FC
Apr 09 2017 15:21
согласен 100%
но не всем даётся работа другого уровня) так что надо делать то что должно, но хотеть конечно можно большего
Bogdan
@alanlans
Apr 09 2017 18:19
всем привет, кто сталкивался с _debugbar/assets/stylesheets ?? а конкретнее с тем что показывает что стилей и скриптов нету
KarmaBot
@KarmaBot
Apr 09 2017 18:19
О! @alanlans! Сто лет не виделись!) Как жизнь молодецкая? Рассказывай :)
coderisimo
@coderisimo
Apr 09 2017 19:27
Всем привет. Я похож на обсуждаемого персонажа), Который пилит проект и параллельно изучает инструмент.
KarmaBot
@KarmaBot
Apr 09 2017 19:27
Прувет, @coderisimo!
JhaoDa
@jhaoda
Apr 09 2017 19:31
@coderisimo Ктулху тебе в помощь и почёт, если заказчик ты сам себе. Но если ты за деньги, то сочувствую твоему заказчику...
D3-FC
@D3-FC
Apr 09 2017 19:59
глупый вопрос. но чёт сонный. найти не могу в доке. как whereHas использовать для ManyToMany
coderisimo
@coderisimo
Apr 09 2017 20:53
@jhaoda Тут все не так однозначно. Я делаю проект заказчику больше года. И параллельно этот проект у заказчика в пользовании месяцев 9 . Пока, тьфу -тьфу он доволен и только дописываем функционал, да я потихоньку рефакторю все. Ибо задумывался маленький проектик а , сейчас вырос уже во что-то более крупное )))
Dave
@aios
Apr 09 2017 21:13
@coderisimo на сколько крупное?
Andrey
@daaner
Apr 09 2017 21:31
@alanlans пробуй переустановить дебугбар, но перед этим попробуй php artisan view:clear
@alanlans composer clearcache composer global update
пользуясь случаем передаю привет всем кто не спит и прошу ответа. Как в моделе поле БД переименовать? есть name_ru и name_en, а в зависимости от локали хотелось бы все привести в вид name
KarmaBot
@KarmaBot
Apr 09 2017 21:34
@Daaner, ну рассказывай. Как жизнь? :)
JhaoDa
@jhaoda
Apr 09 2017 21:43
@Daaner юзай аксессоры
Andrey
@daaner
Apr 09 2017 21:53
@jhaoda мне как бы для имен полей БД переназначить, чтоб не слать во вьюху дубль данных, да и не запариваться кодом
JhaoDa
@jhaoda
Apr 09 2017 21:56
@Daaner не понимаю
Andrey
@daaner
Apr 09 2017 21:57
ладно, ща разбанят в гугле и поищу