#php #sql #laravel #eloquent #insert
Вопрос:
$add_v = new AppModelsHmsBbrCategory;
$add_v->id->max(id) 1;
$add_v->category_id->max(category_id) 1;
$add_v->category_name='Insert 1';
$add_v->category_description='Insert Desc';
$add_v->created_by='Me';
$add_v->created_datetime=CURRENT_TIMESTAMP;
$add_v->save();
Мне нужно, чтобы эта красноречивая вставка данных в мою таблицу с моими первыми двумя столбцами, id, category_id, была добавлена с автоматическим приращением, в частности, наибольшее значение 1.
в моем коде выше есть ошибка:
SymfonyComponentDebugExceptionFatalThrowableError
Call to a member function max() on null
что я могу сделать в «max ()», чтобы это работало по назначению? любая помощь будет признательна, спасибо.
Комментарии:
1. Вам действительно нужен category_id, а также идентификатор?
2. да, мне нужно и то, и другое
3. Как правило, выполнение max() 1 не особенно безопасно, что делать, если 2 запроса попытаются вставить запись одновременно — они оба могут получить один и тот же идентификатор.
Ответ №1:
у вас есть ошибка в
$add_v->category_id->max(category_id) 1;
Я думаю, тебе нужно
$category=AppModelsHmsBbrCategory::orderByDesc('id')->first();
затем
$add_v->category_id=$category->id 1;