Size: a a a

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

2021 June 16

SG

Sergey Gerasimov in Laravel для начинающих
Откуда у тебя 16?
источник

AB

Alex B in Laravel для начинающих
$user->someRelations()->updateOrCreate(
        ['id' => optional($someRelationData)->id],
        $someRelationData->filter([
             'field_1' => $someRelationData->field_1,
             'field_2' => $someRelationData->field_2,
             'field_3' => $someRelationData->field_3,
             'field_4' => $someRelationData->field_4,
             'field_5' => optional($someRelationData)->id,
       ])
);

someRelationData
- это DTO, метод filter просто очищает нулл
источник

AB

Alex B in Laravel для начинающих
Как-то так, код я изменил, потому что НДА
источник

AB

Alex B in Laravel для начинающих
мне кажется что это баг в ларавеле
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну так сделай
dd(optional($someRelationData)->id, $someRelationData->filter([
             'field_1' => $someRelationData->field_1,
             'field_2' => $someRelationData->field_2,
             'field_3' => $someRelationData->field_3,
             'field_4' => $someRelationData->field_4,
             'field_5' => optional($someRelationData)->id,
       ]));
источник

SG

Sergey Gerasimov in Laravel для начинающих
А мне кажется что данные не корректные. В ошибке даже об этом сказано
источник

SG

Sergey Gerasimov in Laravel для начинающих
right syntax to use near '`16`
источник

SG

Sergey Gerasimov in Laravel для начинающих
То есть у тебя где-то в SELECT или UPDATE стоит так:
источник

SG

Sergey Gerasimov in Laravel для начинающих
field = `16`
источник

SG

Sergey Gerasimov in Laravel для начинающих
И мускул не понимает что за такое 16 это, потому что в таких скобках пишутся колонки
источник

AB

Alex B in Laravel для начинающих
вот я о том же, оно вместо id подставляет эту цифрк
источник

SG

Sergey Gerasimov in Laravel для начинающих
А колонки 16 у тебя нет
источник

SG

Sergey Gerasimov in Laravel для начинающих
Если уверен что в id дело, то покажи dd(optional($someRelationData)->id)
источник

SG

Sergey Gerasimov in Laravel для начинающих
Или напиши ['id' => 16]
источник

SG

Sergey Gerasimov in Laravel для начинающих
И посмотри есть ли такая ошибка
источник

AB

Alex B in Laravel для начинающих
array:1 [
 "id" => 1
]
array:4 [
 "field_1" => 0 (ну тут все верно)
 "field_2" => "09:56"
 "field_3" => "20:23"
 "field_4" => 1
]
источник

SG

Sergey Gerasimov in Laravel для начинающих
Ну тут 16 нет, значит в другом месте. Покажи отношение someRelations
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
Еще ->toSql можно глянуть
источник

SG

Sergey Gerasimov in Laravel для начинающих
Там плейсхолдеры возможно будут, поможет ли ему это
источник

ПЛ

Павел Ланчев... in Laravel для начинающих
->getBindings тогда
источник