
Юрий
11.06.2017
10:46:35

Luka
11.06.2017
10:48:31

Андрэ
11.06.2017
10:50:34
ну да, или exception ловить. Потому что с insert ignore есть забавная штука - если есть autoincrement поле, то оно будет увеличиваться, даже если запись не вставилась, а отсеялясь по ignore

Anton
11.06.2017
11:11:02
firstOrCreate/ firstOrNew как вариант

Google

Андрэ
11.06.2017
11:11:55
Это же select

Anton
11.06.2017
11:16:00
Можно рассматривать его как insert с предварительной проверкой на существование записи
В доке он в разделе "Other Creation Methods"

Андрэ
11.06.2017
11:24:44
Как можно firstOrNew рассматривать как insert, если он ничего не создает в таблице?

Anton
11.06.2017
11:25:16
First or create создает

DMITRY
11.06.2017
11:30:48
трансляция fwdays
сейчас

Yushkevich
11.06.2017
11:36:29

Андрэ
11.06.2017
12:56:31

Luka
11.06.2017
13:13:21
подскажите, а shuffle как то отдеально работает в Ларе?
public function index()
{
$tags=Tag::all();
$end_tags = count($tags);
shuffle($tags);
return view('index',['tags' => $tags, 'end_tags' => $end_tags]);
}

Google

sofar
11.06.2017
13:24:01
Разве Tag::all() не коллекцию вернет?

Андрэ
11.06.2017
13:24:22
Я в соседнем чате уже это сказал

sofar
11.06.2017
13:25:25
А, я не читал тот чат

Luka
11.06.2017
13:30:51
мне нужен array_multisort такой тип сортировки?

Андрэ
11.06.2017
13:31:38
Я ж там написал, сделай $tags->toArray() и shuffle ему

Luka
11.06.2017
13:32:35

Андрэ
11.06.2017
13:46:40
Да. Просто он реализует нужные интерфейсы.
Iterable, countable

Luka
11.06.2017
14:18:21
Iterable, countable
Все спасибо, потумил минут , нашел как сделать)
public function index()
{
$tags=Tag::all('tag')->toArray();
$end_tags = count($tags);
shuffle($tags);
return view('index',['tags' => $tags, 'end_tags' => $end_tags]);
}

Андрэ
11.06.2017
14:18:51
А чего туптиь, я ж сразу сказал - toArray сделать)

Luka
11.06.2017
14:21:42

Андрэ
11.06.2017
14:22:07
А надо было $tags = $tags->toArray()

Luka
11.06.2017
14:22:11
ну да

Андрэ
11.06.2017
14:22:15
ну или лучше - как ты сделал в итоге

Luka
11.06.2017
14:22:27
теперь осталось сделать вывод только 30 тэгов
кстати, можно сделать, что бы только 30 записей бралось с таблицы?
Tag::all('tag');
вроде можно.

Google

Андрэ
11.06.2017
14:24:08
Ну так залезь в доку же) там описано как брать записей, сколько надо

Luka
11.06.2017
14:35:15
@for ($key = 0; $key < 30; $key++)
#{{ $tags[$key]['tag'] }}
@endfor

Андрэ
11.06.2017
14:35:42
Не делай так)

Vlad
11.06.2017
15:10:35
Добрый день...не могу вкурить как в sleepinowl сделать загрузку изобажений

Luka
11.06.2017
16:59:14

Андрэ
11.06.2017
17:00:09
Почему?
Не надо выбирать из базы больше, чем надо. Не надо такую логику во view помещать

Luka
11.06.2017
17:00:37

Андрэ
11.06.2017
17:01:04
Select * from table order by rand?

Luka
11.06.2017
17:01:09
Мне не надо брать 30 записей. Мне надо взять все их отсортировать и вывести 30

Андрэ
11.06.2017
17:01:11
Limit 30
так отсортировать или случайные?

Luka
11.06.2017
17:01:34
Я понял, передать на мускл.
Рандом

Андрэ
11.06.2017
17:01:52
ну и даже если так надо - ограничивай выборку в контроллере а не во вью

Luka
11.06.2017
17:02:44

Андрэ
11.06.2017
17:02:57
Да

Luka
11.06.2017
17:03:55
Ок. Спасибо. Вечером доделаю инструментарий для автопостинг в Инстаграме

Den
11.06.2017
17:27:58
Подскажите реализацию множественной загрузки изображения

Google

Den
11.06.2017
17:28:37
Может есть готовый плагин, js скрипты. Требуется для админки, загрузка изображений товара

dasknix
12.06.2017
01:39:50
есть кто живой?

Юрий
12.06.2017
01:43:18
а что

dasknix
12.06.2017
01:46:08
есть вопрос по БД уровня старшеклассника, видимо, несовместимый с моей головой

Юрий
12.06.2017
01:48:14
проще написать его тут

dasknix
12.06.2017
01:49:31
дабы ничего не отвлекало я вырезал или опустил ненужную информацию
продукт - это товар. но товаров бывает несколько шт. одной позиции (пять булавок, три иголки)

Admin
ERROR: S client not available

dasknix
12.06.2017
01:49:31
а ещё когда покупатель кладёт в корзину товар или оплачивает заказ - часть булавок висит на складе, а часть в корзине/заказе
я сделал "набор". это product_set
когда одного товара сколько-то штук. сделал через junction table, как видно
это которая __map_2
вопрос - можно ли лучше, чем есть сейчас?
меня смущает как минимум то, что в справочной таблице (junction table) пришлось добавить поле product_qty
нормальная ли это практика и что в целом можете сказать о данном решении?
заранее спасибо.


Юрий
12.06.2017
01:56:25
или я не так понимаю условие, или я не вижу надобности в промужеточной таблице.
количества товаров в таблице с ними я бы и хранил. не вижу сложности в том чтобы учитывать таблицу товаров как "склад" и при оформлении заказа оттуда делать вычет заказанного числа товаров.
если какие-то позиции могут покупаться только по пять штук например - за это отвечает не логика корзина-склад, а витрина-корзина, там можно ввести и наборы, где будет прописано каких товаров и сколько позиций входит в набор. но только для того чтобы наполнить корзину, а при ее процессинге - списать с остатков "склада" (таблицы продуктов)
таким образом из схемы спокойно убираем _map_2, в product добавляем qty, в product_set добавляем позиции для product_id и qty нужных ну и собственно все

dasknix
12.06.2017
01:58:30
мне нравится ход мыслей, перечитываю снова

Юрий
12.06.2017
01:59:57

Google

dasknix
12.06.2017
02:01:01
всё отлично. теперь добавлю условие, которое сразу не описал
наборов может быть несколько. т.к. каждый набор - это какое-то кол-во одного товара. а в корзине у нас несколько разных позиций
т.е. мне надо будет добавить промежуточно справ. таблицу между product_set и cart, как и между product_set и order
а это уже то, от чего я с трудом, но ушёл вроде бы
т.к. хочется макс. просто и элегантно, а не через 20 табл. делать
т.е. Вы всё верно написали, спасибо. но это работает только если в корзине или заказе один товар опр. кол-ва. а их может быть сколько угодно, и для каждого несколько штук


Юрий
12.06.2017
02:03:44
я понял. схема это учитывает.
product_set #1
product_id: 1, qty: 10
product_id: 2, qty: 5
product_set #2
product_id: 4, qty: 2
product_id: 8, qty: 6
в корзине у нас 2 продакт сета - 1 и 2.
когда делаем заказ со склада списываем следующее кол-во позиций:
product_id: 1 - 10 штук
product_id: 2 - 5 штук
product_id: 4 - 2 штуки
product_id: 8 - 6 штук
у product_set id не уникальный
может быть 10 позиций для первого сета прописано
каждая позиция - product_id в нужном кол-ве

dasknix
12.06.2017
02:05:06
про то, чтобы сделать таблицу product стоковой - да. а вот как реализовано что у нас в корзине 2 сета?

Юрий
12.06.2017
02:05:59
как понимаю в корзину добавляются не товары а готовые сеты. значит мы просто на сайте выбрали сет 1 (в котором такие-то позиции в таком-то кол-ве) и сет 2 (в котором такие-то позиции в таком-то кол-ве)

dasknix
12.06.2017
02:06:38
корзине _присвоен_ один сет
только так. там отношение 1:1
не может же быть в корзине.. аа ну хотя, ну тогда придётся между корзиной и юзером делать junction
понимаешь тут так и так выходит что надо в промежуток втыкать справочную таблицу, просто мы её сдвигаем в более дальнюю связь))

Юрий
12.06.2017
02:09:16
кхм. я теперь понял что надо. я тогда опишу как это сделано нормально в одном магазине.
у клиента может быть много корзин.
каждая корзина - в твоем представлении это "сет".
при процессинге корзины - она списывается с остатков и переходит в ордеры.
то есть я бы расширил таблицу корзины и избавился и от таблице сетов и от map

dasknix
12.06.2017
02:11:26
уу тогда выходит если она в ордеры переходит то ордеров у клиента тоже должно быть много

Юрий
12.06.2017
02:11:40
ну дык. есть же история заказов