Я работаю с Laravel 7 и тинкером cli
Я хочу вставить запись в таблицу профиля с помощью метода stati c create, но он возвращает нулевое значение столбца id, а не значение, предоставленное мной но автоматически увеличивается в базе данных. На следующем рисунке я сделал массив -> затем передал его для создания метода -> запись вставлена, но столбец идентификатора недоступен
Я изменил первичный ключ по умолчанию 'id' для laravel 7 на имя пользователя , без изменения первичного ключа метод create () возвращает правильное значение. Скажите, пожалуйста, как это будет дать значение id в моем случае, используя имя пользователя в качестве первичного ключа
Запись вставлена со значением id, но возвращает null, как получить к нему доступ после вставки используя метод create ()
Миграция профиля
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProfilesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('username');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('profiles');
}
}
Модель профиля
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Profile extends Model
{
protected $guarded =[];
protected $primaryKey='username';
protected $keyType='string';
public $incrementing=false;
}