我添加了一个foreignKey列来指定用户的角色。这是users表:在我将nullable()添加到role_id列之前,他们被告知role_id列没有默认值,当我添加nullable()时,他们将NULL值插入表中
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('phone_number')->unique();
$table->string('email')->unique()->nullable();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->integer('role_id')->unsigned()->nullable();
$table->rememberToken();
$table->timestamps();
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
});
这是角色表:
Schema::create('roles', function (Blueprint $table) {
$table->increments('id');
$table->string('type');
$table->timestamps();
});
这是角色列的刀片代码:我在刀片代码中添加了一个数组,以在选项标记中显示其内容,属性名称为“role_id”
@php
$role_array = ['employee', 'client'];
@endphp
<div class="form-group row">
<label for="role" class="col-md-4 col-form-label text-md-right">Role <span class="text-danger">*</span></label>
<div class="col-md-6">
<select id="role" name="role_id" class=" form-control">
<option selected>Choose...</option>
@foreach ($role_array as $x => $x_value)
<option value="{{++$x}}">{{$x_value}}</option>
@endforeach
</select>
</div>
</div>
这是“CreateNewUser.php”文件的创建方法:
public function create(array $input)
{
Validator::make($input, [
'name' => ['required', 'string', 'max:255'],
'email' => [
'string',
'email',
'max:255',
Rule::unique(User::class),
],
'phone_number' => [
'required',
'string',
'min:10',
'max:13',
Rule::unique(User::class),
],
'role_id' => [
'required',
Rule::unique(User::class),
],
'password' => $this->passwordRules(),
])->validate();
return User::create([
'name' => $input['name'],
'email' => $input['email'],
'phone_number' => $input['phone_number'],
'password' => Hash::make($input['password']),
]);
}
这是用户模型:
protected $fillable = [
'name',
'password',
'phone_number',
'email',
'role_id',
];
你必须通过role_id
来创建方法
return User::create([
'name' => $input['name'],
'email' => $input['email'],
'phone_number' => $input['phone_number'],
'password' => Hash::make($input['password']),
'role_id' => $input['role_id'],
]);
也适用于控制器中的角色
$role_array=Role::pluck('type','id');
然后在视图中
<select id="role" name="role_id" class=" form-control">
<option selected>Choose...</option>
@foreach ($role_array as $x => $x_value)
<option value="{{$x}}">{{$x_value}}</option>
@endforeach
</select>
问题内容: 我可以在非null字段中插入一个空字符串吗? 问题答案: 是的,您可以… NULL值的概念是SQL新手经常感到困惑的原因,他们经常认为NULL与空字符串’‘相同,或者值为零。 不是这种情况。从概念上讲,NULL表示“缺少未知值”,并且与其他值的处理方式有所不同。例如,要测试NULL,不能在大多数DBMS中使用算术比较运算符,例如=,<或<>。
问题内容: 假设我有两个表,并且 我想在一个查询中将来自某些输入的数据插入到表中,该怎么做? 请,如果可以做到,请解释语法。 问题答案: MySQL不支持在单个INSERT语句中进行多表插入。奇怪的是,Oracle是我所知道的唯一一个…
我正在讨论的活动必须将一个由CardViews填充的RecyclerView显示为项目。我的目标是在每个CardView中显示一个RecyclerView。 下面是我的活动的基本XML: 下面是我的CardView的RecolyerView的布局: 我该如何解决这个问题?拜托,我没主意了。
null 作者(PK) AuthorName Pubid(PK) pubName 书籍ID(FK) authorid null null 我应该只获得一行查询以获得以上结果。我写的是: 但相反,我得到了许多具有重复数据的行。
您好,我试图从另一个表中为我的表在最后一列中插入值,但出现错误错误: 列“name”中的空值违反了非空约束详细信息:失败的行包含(ddf1Caf0-26c2-49e1-8a73-64227eae1f50, null, null, null, null, null,2532)。
使用flyway-core:4.1.2进行数据库迁移。 添加了一个新的DDL文件供flyway执行。Flyway会正确执行DDL并对表和列进行相应的更改。(我们在新的DDL中添加了一个表并更改了以前的一些列)。 但是,flyway无法将此尝试注册到schema_version表:我得到以下错误: 架构[dbo]的当前版本:2.1 无法在元数据表[dbo]中插入版本“3.0”的行。[schema_v