Случай 1: Я создал модель и миграцию для хранения отзывов пользователей о жилье.
Модель
protected $fillable = [
'user_id',
'lodging_id',
'body',
'status',
];
Миграция:
public function up()
{
Schema::create('reviews', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('lodging_id');
$table->text('body');
$table->enum('status', ['pending', 'approved', 'rejected'])->default('pending');
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('lodging_id')->references('id')->on('lodgings')->onDelete('cascade');
});
}
После успешного сохранения данных в базе данных все атрибуты заполнены, как и ожидалось. но когда я пытаюсь вызвать данные, все атрибуты возвращают нужные данные, кроме статуса. Когда я пытаюсь отладить полученные данные с помощью dd (), вот результат ( состояние атрибута недоступно в атрибутах и оригинале ) результат отладки .
Случай 2 : После этого я попытался изменить свою миграцию. Я изменил атрибут статуса с enum со значением по умолчанию в ожидании на строку со значением по умолчанию в ожидании, атрибут статуса все еще возвращается rning null
Миграция:
public function up()
{
Schema::create('reviews', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('lodging_id');
$table->text('body');
$table->string('status')->default('pending');
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('lodging_id')->references('id')->on('lodgings')->onDelete('cascade');
});
}
Случай 3 : я изменил атрибут состояния со строки со значением по умолчанию в ожидании на строку со своим значением по умолчанию, затем возвращенные данные соответствуют ожидаемым (все атрибуты возвращаются, это значение из базы данных) . отладочный результат, возвращающий полный атрибут
Миграция:
public function up()
{
Schema::create('reviews', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('user_id');
$table->unsignedInteger('lodging_id');
$table->text('body');
$table->string('status');
$table->timestamps();
$table->softDeletes();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('lodging_id')->references('id')->on('lodgings')->onDelete('cascade');
});
}
Вопрос: Это ошибка от Laravel или я что-то пропустил? у меня версия базы данных 5.7 и версия laravel 5.7