Извините, если это глупый вопрос, но я новичок в программировании структуры, а также в Laravel. Я хочу вставить свои данные в базу данных и вернуть id
обратно, но в базе данных поле в таблице не является id
, а owner_id
. Как я могу вернуть его обратно? Я использую PostgreSQL
и auto-incrementing
настраиваю его.
Это мой код:
$regis = new ltd_owner;
$regis->owner_name = $register['firstname'] . ' ' . $register['lastname'];
$regis->represent_company_id = $register['isRepresent'];
$regis->gender = $register['sex'];
$regis->address_id = '7598';
$regis->nationality_id = '24';
$regis->save();
Пожалуйста, помогите мне исправить это, спасибо
После передачи $regis->save();
$regis
будет хранить ваши новые данные. Вы можете получить эту переменную, вызвав их $regis->column_name
например $regis->owner_id;
, $regis->address_id; $regis->gender
$regis->address_id; $regis->gender
Надеюсь, вы поймете, что происходит
Если вы используете другое имя идентификатора, вы должны определить его в модели.
Добавьте в модель ltd_owner следующую строку:
protected $primaryKey = 'owner_id';
Затем, если вы создадите новую модель, вы можете вернуть идентификатор.
$regis = new ltd_owner;
$regis->owner_name = $register['firstname'] . ' ' . $register['lastname'];
$regis->represent_company_id = $register['isRepresent'];
$regis->gender = $register['sex'];
$regis->address_id = '7598';
$regis->nationality_id = '24';
$regis->save();
//inserted model id:
$regis->owner_id;
Вам необходимо установить другой первичный ключ в вашей модели:
protected $primaryKey = "owner_id";
Затем, после save()
, поле должно быть заполнено автоматически, и вы можете получить к нему доступ:
var_dump($regis->owner_id);