Laravel 插入默认值而不是通过请求发送的数据
Laravel insert default value instead of data sent via request
我的 Laravel 应用程序遇到一个特殊问题,当我将数据插入数据库时,它总是插入默认值,而不是通过 post 请求发送的数据。所以我在将它们插入数据库之前 dd() 值并显示正确的数据。但是在数据库上,它总是在迁移文件中插入默认值。
相同的代码适用于另一个模式。
HTML形式
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="is_free">Is Free</label>
<select class="form-control" name="is_free" required>
<option value="1">Free</option>
<option value="0">Pro Only</option>
</select>
@error('is_free')
<div class="text-danger mt-2 small ">{{ $message }}</div>
@enderror
</div>
</div>
迁移
public function up()
{
Schema::create('chapters', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('slug');
$table->string('description');
$table->mediumText('content');
$table->tinyInteger('is_free')->default(1);
$table->timestamps();
});
}
控制器
Chapter::create([
'title' => $request->title,
'slug' => $request->slug,
'description' => $request->description,
'content' => $request->content,
'is_free' => $request->is_free,
]);
在您的章节模型中,确保您的 $fillable
属性 具有正确的属性:
class Chapter extends Model
{
protected $fillable = ['title','slug','description','content','is_free'];
....
}
我的 Laravel 应用程序遇到一个特殊问题,当我将数据插入数据库时,它总是插入默认值,而不是通过 post 请求发送的数据。所以我在将它们插入数据库之前 dd() 值并显示正确的数据。但是在数据库上,它总是在迁移文件中插入默认值。
相同的代码适用于另一个模式。
HTML形式
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="is_free">Is Free</label>
<select class="form-control" name="is_free" required>
<option value="1">Free</option>
<option value="0">Pro Only</option>
</select>
@error('is_free')
<div class="text-danger mt-2 small ">{{ $message }}</div>
@enderror
</div>
</div>
迁移
public function up()
{
Schema::create('chapters', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->string('slug');
$table->string('description');
$table->mediumText('content');
$table->tinyInteger('is_free')->default(1);
$table->timestamps();
});
}
控制器
Chapter::create([
'title' => $request->title,
'slug' => $request->slug,
'description' => $request->description,
'content' => $request->content,
'is_free' => $request->is_free,
]);
在您的章节模型中,确保您的 $fillable
属性 具有正确的属性:
class Chapter extends Model
{
protected $fillable = ['title','slug','description','content','is_free'];
....
}