
Nikitcat
16.08.2018
13:15:22
так как продукта мясо две партии, оно его дублирует
так как там есть различие, когда товар куплен админом за наличку и на реализацию, то надо такая сортировка
или чтобы уйти от условий в блейде сделать контроллер, который достает данные по этому условию и выводить?

Google

Nikitcat
16.08.2018
13:28:45
Почему почти правильно? Что не правильно?
при втором варианте просто показывается первое повавшееся. Т.е. если у первой партии тип продукта 0, то оно его закинет на страницу "списать за наличные", а если первая партия попалась с типом 1, то списание на реализацию. А может быть такое, что у продукта есть партия типа 0 и вторая партия 1, т.е. должно выводить на раные страницах

Dmitriy
16.08.2018
13:41:42
https://laravel.com/docs/5.6/eloquent-relationships#constraining-eager-loads

Nikitcat
16.08.2018
13:44:49
просто по визуалу, если внутри первого цикла по продуктам добавить цикл по патриям, выйдет два продукта

Dmitriy
16.08.2018
13:48:37
смотри первый цикл по продукту и ты берешь данные из продукта, а во второй цикл по партиям внутри дива .cart-body

Nikitcat
16.08.2018
13:52:05
но если не сделать так:
@foreach($products as $i => $product)
@foreach($product->batches as $batch)
@if($batch->product_type > 0)
то не смогу сравнить, партия продукта принадлежит типу 1 или 0

Dmitriy
16.08.2018
13:54:47
скинь куда-нибудь в инет котролер и вьюху, что бы можно было бы редактривовать

Nikitcat
16.08.2018
13:56:00
на какой ресурс можно кинуть, с возможностью редактирования?

Json
16.08.2018
13:58:07
implode.io

Google

Sergey
16.08.2018
14:03:16
ребят подскажите пожалуйста незнающим,что лучше выбрать Laravel или yii2
понятно что пишу в группу Laravel
но может быть скажите какие стороны у того или иного лучше для реализации на нем b2b проекта в виде маркетплейса

Nikita
16.08.2018
14:03:54
yii мертв)

Almost
16.08.2018
14:06:24

Nikita
16.08.2018
14:07:06
на ларе медленно?))
серьезно?

Almost
16.08.2018
14:07:55

Nikita
16.08.2018
14:09:26
для извращенцев которые любят круд генерить есть админки вроде вояджера :)

Nikitcat
16.08.2018
14:10:06
к implode.io пока не выходит зарегаться
а, щас, не ту версию блэйда залил

Almost
16.08.2018
14:19:36
а что html делает в контроллере? почему бы в роуте не написать весь код?

Nikita
16.08.2018
14:20:28
судя по всему это просто 2 файла в одном)
или где ты html нашёл

Nikitcat
16.08.2018
14:21:46

Dmitriy
16.08.2018
14:21:55

Nikitcat
16.08.2018
14:24:13
https://hastebin.com/onahowevav.bash
в таком случае, если у продукта с 2-мя или более(без разницы) будет тип 1, а эта страница для типа 0, то тот продукт всё равно будет отображаться на странице

Dmitriy
16.08.2018
14:25:35
а это уже лучше в контролере делай
https://laravel.com/docs/5.6/eloquent-relationships#querying-relationship-existence
последний пример смотри

Nikitcat
16.08.2018
14:27:00
тогда по сути мне в блэйде условия эти не понадобятся?

Dmitriy
16.08.2018
14:27:51
ты же говорил, что у тебя может быть несколько разных партий для одного товара

Google

Nikitcat
16.08.2018
14:29:19
ну если я в контреллере сделаю выборку по типу

Dmitriy
16.08.2018
14:29:25
попробуй потом еще и with отфильтровать
$users = App\User::with(['posts' => function ($query) {
$query->where('title', 'like', '%first%');
}])->get();
если получится, тогда да иф не нужен

Влад
16.08.2018
14:32:49
есть игры. для каждой игры есть контроллер. каждый раз идет проверка баланса внутри транзакции.
можно ли вынести проверку баланса в мидллвар?
если да, то правильно ли в мидллваре начинать транзакцию, и только в самом конце делать коммит?

Subb98
16.08.2018
14:37:52
Можно сделать проверку баланса в мидлваре, но дальнейшую логику вынести отдельно

Anton
16.08.2018
14:39:12
если только для того чтобы залочить баланс...

Влад
16.08.2018
14:39:56
делается в транзакции чтобы юзер не смогу сыграть дважды
да, делаю lockForUpdate

Nikitcat
16.08.2018
15:00:14
а как его ещё отфилтровать?
select * from agricultural.products join agricultural.batches on products.id = batches.product_id where batches.product_type > 0;
select * from agricultural.products join agricultural.batches on products.id = batches.product_id where batches.product_type = 0;
в мускуле всё правильно, надо только чтобы такой запрос вышел в блэйде и тогда иф не понадобится

Dmitriy
16.08.2018
15:09:34
а как его ещё отфилтровать?
$products = Product::with(['batches' => function($query){
$query->where('product_type', 0);
}])->whereHas('batches', function($query){
$query->where('product_type', 0);
})->get();

Nikitcat
16.08.2018
15:10:45

Dmitriy
16.08.2018
15:11:34
where для модели, whereHas для связей

Nikitcat
16.08.2018
15:12:44
а чем отличается такая запись- $product->quantity(), от такой $product->quantity - при этой ошибка возникает, что модель должна возвращать экземпляр\пример связи
$product->quantity при таком же я пытаюсь обратится к связи?
при том что у меня quantity не метод, а объект же

ExPandable
16.08.2018
15:27:55
quantity() возвращает релейшн

Nikitcat
16.08.2018
15:31:24
а, то есть чтобы не писать через релейшен $product->batch->quantity, я могу написать quantity()?

Google

Nikitcat
16.08.2018
15:32:38
а если есть два релейшена с одинаковым поле name, то будет фаталка?

ExPandable
16.08.2018
15:33:42
стоп, я пропустил начало вопроса
quantity это у тебя hasOne релейшн, или что?

Nikitcat
16.08.2018
15:39:18
Product has many batches
Batches belongsTo Product

Admin
ERROR: S client not available

ExPandable
16.08.2018
15:42:19
тогда поле надо брать у релейшна
product->relation->field

Nikita
16.08.2018
15:42:46
Почему люди так не любят читать доку и учиться прежде чем приступать к коммерческой разработке ?

Nikitcat
16.08.2018
15:44:26

Andrii
16.08.2018
16:09:54


Nikita
16.08.2018
16:16:40
Я когда начинал - посмотрел курсы, прочитал документацию, потом сделал пет проект попутно штудируя документацию и гугля то что не получалось найти. И после этого начал делать комерческие заказы.
Твою задачу уже обсуждали недели 2 назад, это я точно помню и судя по всему никаких выводов и знаний с того обсуждения ты не вынес. Теперь снова мучаешься со своей проблемой, хотя достаточно прочитать 1 страницу доки про релейшены что бы решить твою задачу или, по крайней мере, задать адекватно вопрос.
То что ты не понимаешь разницу между quantity и quantity() говорит о многом.
ps можно на ты, мы же в интернете :)
pss никаких личных претензий к тебе нет, но ты мучаешься сам и мучаешь тех кто пытается помочь)
я скорее вообщем о чате говорил. Последнее время большинство сообщений делятся на 3 типа
- вопросы "какую админку поставить?"
- вопросы "как поставить ларавел на хостинг за 39рублей?"
- вопросы которые решаются гуглом и докой быстрее чем отправляется сообщение в телеграм


f4rt~
16.08.2018
16:23:52
не все такие умные как вы, за неимением чата Laravel для Нубов, страдайте

Nikita
16.08.2018
16:26:31
Не считаю себя сильно умным или экспертом в ларе, даже наоборот. Не стоит додумывать)

dev
16.08.2018
16:27:31
))

Nikita
16.08.2018
16:29:09

Google

f4rt~
16.08.2018
16:34:32
хз лично чем сообщения аля тупо оффтоп или рофлы, лучше чем "помогите установить/выбрать админку"/любой другой нубский вопрос


Nikitcat
16.08.2018
16:38:05
Я когда начинал - посмотрел курсы, прочитал документацию, потом сделал пет проект попутно штудируя документацию и гугля то что не получалось найти. И после этого начал делать комерческие заказы.
Твою задачу уже обсуждали недели 2 назад, это я точно помню и судя по всему никаких выводов и знаний с того обсуждения ты не вынес. Теперь снова мучаешься со своей проблемой, хотя достаточно прочитать 1 страницу доки про релейшены что бы решить твою задачу или, по крайней мере, задать адекватно вопрос.
То что ты не понимаешь разницу между quantity и quantity() говорит о многом.
ps можно на ты, мы же в интернете :)
pss никаких личных претензий к тебе нет, но ты мучаешься сам и мучаешь тех кто пытается помочь)
Просто приходится переходить с одной проблемы, на другую, и вроде как сделал то самое, но потом нашли ошибку. Мне просто повезло, когда искал практику без опыта работы, и меня взяли, но ни ментора, ни хорошего тимлида нет

Батманов
16.08.2018
16:40:20

Nikita
16.08.2018
16:41:54


Nikitcat
16.08.2018
16:47:49
Я не спорю, в таком виде, курсы, документация, пэт проджект, можно все подтянуть и учить, но выходит так, что учишься исправляя чужой код и гугля. А можно ссылку, где это различие есть? В Eloquent ORM-Relationships нет такого, в теме Database тоже
Я когда начинал - посмотрел курсы, прочитал документацию, потом сделал пет проект попутно штудируя документацию и гугля то что не получалось найти. И после этого начал делать комерческие заказы.
Твою задачу уже обсуждали недели 2 назад, это я точно помню и судя по всему никаких выводов и знаний с того обсуждения ты не вынес. Теперь снова мучаешься со своей проблемой, хотя достаточно прочитать 1 страницу доки про релейшены что бы решить твою задачу или, по крайней мере, задать адекватно вопрос.
То что ты не понимаешь разницу между quantity и quantity() говорит о многом.
ps можно на ты, мы же в интернете :)
pss никаких личных претензий к тебе нет, но ты мучаешься сам и мучаешь тех кто пытается помочь)
quantity и quantity(), первое объект, второе метод, если не так, или есть более расшеренное объяснение хотел прочитать


Nikita
16.08.2018
16:52:59
как это нету?
https://laravel.com/docs/5.6/eloquent-relationships#relationship-methods-vs-dynamic-properties
и просто ctrl+f на странице и ищем "dynamic properties"
и так далее

Nikitcat
16.08.2018
17:06:51
так таким образом мы получаем релейшен модели. А у меня в блейде вышло $product->quantity(), то есть оно за меня нашло связь batches(партии у продуктов) и связало с количеством продуктов в партии - тоже самое $product->batch->quantity или же $batch->quantity. В документации написано, если мы сделает например так: $phone = User::find(1)->phone, подразумевается что в этой таблице есть внешний ключ, который относится к юзеру и вернет оно таким образом user_id, если же хотим чтобы вернуло локальный столбец с этой связи, пишем $this->hasOne('App\Phone', 'foreign_key', 'local_key');

Евгений
16.08.2018
17:08:09
давай скрин модели product

Nikita
16.08.2018
17:08:13
Посмотри свою модель Product на предмет метода quantity

Сергей
16.08.2018
17:20:41
Добрый вечер, друзья. Обычно принято называть роуты во множественном числе, /posts/{post} /users/{user}?

Nikitcat
16.08.2018
17:21:52

Евгений
16.08.2018
17:21:59