Size: a a a

Laravel для начинающих

2020 February 14

И

Игорь in Laravel для начинающих
Sonic [Скупаю | Актуально всегда]
Это я и делаю. А как в view мне его вывести? Я подумываю в модели добавить аттрибут count и перед выводом перебрать корзину и товарам его добавить
@forelse ($users as $user)
   <li>{{ $user->name }}</li>
@empty
   <p>Пользователей не найдено</p>
@endforelse

только под себя перепиши
источник

S

Sonic [Скупаю | Актуально всегда] in Laravel для начинающих
Игорь
@forelse ($users as $user)
   <li>{{ $user->name }}</li>
@empty
   <p>Пользователей не найдено</p>
@endforelse

только под себя перепиши
А для чего мне он? Как вывести модель я знаю
источник

И

Игорь in Laravel для начинающих
только корзина, наверное, должна уметь считать сумму товаров
источник

S

Sonic [Скупаю | Актуально всегда] in Laravel для начинающих
Мне нужно красиво связать ID из массива и товар. Чтобы не делать такой грязи:
https://i.imgur.com/1oH8hfB.png
источник

AH

Andrey Helldar in Laravel для начинающих
Andrew EmOzEmTsEv
Всем привет. Пдскажите такой момент. Я получаю модель со свойствами, когда вывожу ее целиком в dd, то id выводится как мне нужно, в виде строки с цифровым значением и нулем впереди. Но вот когда хочу конкретно из модели получить свойство $currency->id, то получаю инт, естественно без нуля.
В поле attributes содержатся значения из базы в виде "как есть", а когда ты получаешь $currency->id, то оно проходит метод castAttribute в модели.
Если нужно отключить, то в модели укажи:

public $incrementing = false;

protected $keyType = 'string';

Это еще и потому что поле id по-умолчанию инкрементное числовое.
источник

И

Игорь in Laravel для начинающих
Sonic [Скупаю | Актуально всегда]
Мне нужно красиво связать ID из массива и товар. Чтобы не делать такой грязи:
https://i.imgur.com/1oH8hfB.png
связь
источник

S

Sonic [Скупаю | Актуально всегда] in Laravel для начинающих
Игорь
связь
Корзина не в БД, а в сессии
источник

AH

Andrey Helldar in Laravel для начинающих
Andrey Helldar
В поле attributes содержатся значения из базы в виде "как есть", а когда ты получаешь $currency->id, то оно проходит метод castAttribute в модели.
Если нужно отключить, то в модели укажи:

public $incrementing = false;

protected $keyType = 'string';

Это еще и потому что поле id по-умолчанию инкрементное числовое.
Неделю из кастов не вылазил ><
https://t.me/laravel_web/191466
источник

AE

Andrew EmOzEmTsEv in Laravel для начинающих
Andrey Helldar
В поле attributes содержатся значения из базы в виде "как есть", а когда ты получаешь $currency->id, то оно проходит метод castAttribute в модели.
Если нужно отключить, то в модели укажи:

public $incrementing = false;

protected $keyType = 'string';

Это еще и потому что поле id по-умолчанию инкрементное числовое.
я понял, спасибо. Мне это помогло
protected $casts = [
       'id' => 'string',
   ];
источник

И

Игорь in Laravel для начинающих
Andrey Helldar
В поле attributes содержатся значения из базы в виде "как есть", а когда ты получаешь $currency->id, то оно проходит метод castAttribute в модели.
Если нужно отключить, то в модели укажи:

public $incrementing = false;

protected $keyType = 'string';

Это еще и потому что поле id по-умолчанию инкрементное числовое.
да, лучше так сделать, не пришло в голову
источник

И

Игорь in Laravel для начинающих
Andrew EmOzEmTsEv
я понял, спасибо. Мне это помогло
protected $casts = [
       'id' => 'string',
   ];
нет, в этом коретном случае лучше сделай как Андрей говорит
источник

И

Игорь in Laravel для начинающих
это будет более правильно
источник

AH

Andrey Helldar in Laravel для начинающих
Andrew EmOzEmTsEv
я понял, спасибо. Мне это помогло
protected $casts = [
       'id' => 'string',
   ];
Это костыль для борьбы со следствием.

А нужно исправить причину: https://t.me/laravel_web/191476
источник

И

Игорь in Laravel для начинающих
Andrew EmOzEmTsEv
я понял, спасибо. Мне это помогло
protected $casts = [
       'id' => 'string',
   ];
источник

AE

Andrew EmOzEmTsEv in Laravel для начинающих
Спасибо!
источник

AH

Andrey Helldar in Laravel для начинающих
Andrew EmOzEmTsEv
Спасибо!
Но смотри, так как ты используешь строковый идентификатор с ведущим нулем, в базе колонка id у тебя должна быть НЕ инкрементная и СТРОКОВАЯ.
источник

AH

Andrey Helldar in Laravel для начинающих
Andrew EmOzEmTsEv
Спасибо!
источник

AH

Andrey Helldar in Laravel для начинающих
Иначе в базу будет записываться без ведущего нуля и тогда, при следующем запросе, ты получишь значение 36, т.к. в базе оно будет его содержать.
источник

AE

Andrew EmOzEmTsEv in Laravel для начинающих
Andrey Helldar
Иначе в базу будет записываться без ведущего нуля и тогда, при следующем запросе, ты получишь значение 36, т.к. в базе оно будет его содержать.
Да, у меня там варчар
источник

AE

Andrew EmOzEmTsEv in Laravel для начинающих
$table->string('id');
           $table->primary('id');
источник