Обновить несколько столбцов таблицы - PullRequest
0 голосов
/ 06 июня 2019

когда я обновляю некоторые столбцы таблицы, он вставляет новое поле в таблицу

"id": 1,
"invoice_id": "0001-2019-20",
"client_id": "1",
"currency_id": "4",
"date": "2019-06-06",
"subject": "wordpress",
"total": "3000"

когда я обновляю только тему и всего, он вставит новое поле

"id": 2,
"invoice_id": "",
"client_id": "0",
"currency_id": "0",
"date": "0000-00-00",
"subject": "OMS",
"total": "0"

вот мой контроллер,

$invoices = new Invoice;
$invoices->client_id = $request->get('client_id');
$invoices->currency_id = $request->get('currency_id');;
$invoices->subject = $request->get('subject');
$invoices->save();

1 Ответ

0 голосов
/ 07 июня 2019

Код, который вы используете, предназначен для создания новой записи.Однако вы почти там.

Итак, допустим, вы хотите обновить данные ниже

{"id": 1,
"invoice_id": "0001-2019-20",
"client_id": "1",
"currency_id": "4",
"date": "2019-06-06",
"subject": "wordpress",
"total": "3000"}

Используйте код ниже для обновления этой строки.

$invoices = Invoice::find($request->get('id'));
$invoices->client_id = $request->get('client_id');
$invoices->currency_id = $request->get('currency_id');
$invoices->subject = $request->get('subject');
$invoices->save();

Существуют альтернативные варианты.метод, как показано ниже.

$invoices = Invoice::find($request->get('id'));
$invoices->update([
    'client_id' => $request->get('client_id'),
    'currency_id' => $request->get('currency_id'),
    'subject' => $request->get('subject')
]);

Примечание. Для приведенных выше имен ключей массивов методов и имен столбцов таблицы должны совпадать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...