return array throws Exception public function update Проверяем на суще

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
* @return array
* @throws Exception
*/
public function update()
{
// Проверяем на существование
$attr = (new Attributes())->getOneBy([
'id' => array_get($this->request, 'id'),
'company_id' => App()->Company->id,
'entity' => Attributes::ENTITY_CONTACTS,
]);
if (!$attr->id) {
return $this->jsonError('Кастомное поле не найдено');
}
// Проверяем заполненость обязательных полей
if (!$this->checkRequiredFields($this->request)) {
return $this->jsonError('Пожалуйста заполните все обязательные поля');
}
$attr->DBassignRecord(array_merge(
array_only($this->request, $attr->getAllFields()),
['company_id' => App()->Company->id, 'entity' => Attributes::ENTITY_CONTACTS]
), false, false, true);
$attr->DBupdate();
return $this->jsonSuccess([
'item' => $attr->toArray(true),
'message' => 'Изменения успешно сохранены'
]);
}