Size: a a a

2020 January 15

M

MihailBishkek in OctoberCMS
12 123
Кого?)
offer Как получаете? Модель же пользуете?
источник

M

MihailBishkek in OctoberCMS
сейчас парень ваще офигеет когда узнает что можно атрибут в модельке вычислять свой ))) я реально офигел когда узнал первый раз что так можно )))))
источник

v

vladimir in OctoberCMS
Лучше на gist весь код запихнуть ) Чтобы более понятно было.
А то не ясно откуда $data, зачем $offer_active{n}, что за price и откуда он взялся
источник

M

MihailBishkek in OctoberCMS
vladimir
Лучше на gist весь код запихнуть ) Чтобы более понятно было.
А то не ясно откуда $data, зачем $offer_active{n}, что за price и откуда он взялся
чего такое гист?
источник

11

12 123 in OctoberCMS
источник

11

12 123 in OctoberCMS
Вот продолжение)
источник

v

vladimir in OctoberCMS
MihailBishkek
чего такое гист?
источник

A

Alex in OctoberCMS
MihailBishkek
сейчас парень ваще офигеет когда узнает что можно атрибут в модельке вычислять свой ))) я реально офигел когда узнал первый раз что так можно )))))
Да, это очень круто, главное не класть туда обращения к базе, которые будут выполняться при каждом вызове)
источник

v

vladimir in OctoberCMS
Лучше весь)
источник

11

12 123 in OctoberCMS
Модель оффер это шопоголика
источник

M

MihailBishkek in OctoberCMS
от оно чё, помидоры Копатыча!
источник

M

MihailBishkek in OctoberCMS
12 123
Вот продолжение)
а задача какая? создать 3 предложения )) по каким то там ценам и проставить флажок активности? )
источник

M

MihailBishkek in OctoberCMS
или просто балуешься?
источник

v

vladimir in OctoberCMS
На основании этого проще сделать:

$items = [];
for($i=1; $i <= 4; $i++ ){
  $items[] = [
        ‘name’ => ‘adf123’,
        ‘price’ => $data[‘price’. $i],
       ‘active’ => $data[‘price’. $i] !== 0
   ];
}

$product->offer()->createMany($items);
unset($items);



Можно проще если в $data только цены:
$product->offer()->createMany(array_map(static function($value) {
return [
   ‘name’ => ‘Asd123’,
   ‘price’ => $value,
   ‘active’ => $value !== 0
];
}, $data))

Вообщем нужны вводные) что и откуда берется
источник

11

12 123 in OctoberCMS
Есть форма добавления товара во фронте. При создании товара, создаётся 4 оффера. Но если человеку нужно допустим только 1 или 2 оффера, остальные он деактивирует установкой цены - 0, или 0.00
источник

11

12 123 in OctoberCMS
$data = Input::only('price1', 'price2', 'price3', 'price4');

       if ($data['price1'] == 0) {
           $offer_active1 = 0;
       } else {
           $offer_active1 = 1;
       }
       if ($data['price2'] == 0) {
           $offer_active2 = 0;
       } else {
           $offer_active2 = 1;
       }
       if ($data['price3'] == 0) {
           $offer_active3 = 0;
       } else {
           $offer_active3 = 1;
       }
       if ($data['price4'] == 0) {
           $offer_active4 = 0;
       } else {
           $offer_active4 = 1;
       }

       $product->offer()->createMany([
           [
               'name' => 'Adf123',
               'price' => $data['price1'],
               'active' => $offer_active1,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price2'],
               'active' => $offer_active2,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price3'],
               'active' => $offer_active3,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price4'],
               'active' => $offer_active4,
           ],
       ]);
       $product->save();
источник

v

vladimir in OctoberCMS
12 123
$data = Input::only('price1', 'price2', 'price3', 'price4');

       if ($data['price1'] == 0) {
           $offer_active1 = 0;
       } else {
           $offer_active1 = 1;
       }
       if ($data['price2'] == 0) {
           $offer_active2 = 0;
       } else {
           $offer_active2 = 1;
       }
       if ($data['price3'] == 0) {
           $offer_active3 = 0;
       } else {
           $offer_active3 = 1;
       }
       if ($data['price4'] == 0) {
           $offer_active4 = 0;
       } else {
           $offer_active4 = 1;
       }

       $product->offer()->createMany([
           [
               'name' => 'Adf123',
               'price' => $data['price1'],
               'active' => $offer_active1,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price2'],
               'active' => $offer_active2,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price3'],
               'active' => $offer_active3,
           ],
           [
               'name' => 'Adf123',
               'price' => $data['price4'],
               'active' => $offer_active4,
           ],
       ]);
       $product->save();
$product->offer()->createMany(array_map(static function($value) {
return [
   ‘name’ => ‘Asd123’,
   ‘price’ => $value,
   ‘active’ => intval($value) !== 0
];
}, $data))


Должно подойти
источник

M

MihailBishkek in OctoberCMS
product->save() не надо. Ты ж не продукт редактишь, а добавляем связь
источник

11

12 123 in OctoberCMS
Там форма создания продукта(название, выбор категории, добавление фото и тд.) я лишнее не стал скидывать, что бы не мешалось
источник

M

MihailBishkek in OctoberCMS
🙈
источник