为了账号安全,请及时绑定邮箱和手机立即绑定

在迁移文件中获取表ID(laravel 5.8)

在迁移文件中获取表ID(laravel 5.8)

PHP
弑天下 2022-01-08 20:15:36
我想要用户的 id。(在迁移中使用 if 语句中的 id 并向新表列添加不同的默认值)我尝试使用,getColumns()->id但它在 ide 中显示了一些警告(未找到字段 id)。<?phpuse Illuminate\Support\Facades\Schema;use Illuminate\Database\Schema\Blueprint;use Illuminate\Database\Migrations\Migration;class AddUserRoles extends Migration{    public function up()    {        Schema::table('users', function (Blueprint $table) {            $ID = $table->getColumns()->id;           if($ID == '1') {               $table->string('role')->default('admin');               } else {                 $table->string('role')->default('member');        });    }    public function down()    {        Schema::table...              .....    }}编辑:这是用户表class CreateUsersTable extends Migration{    public function up()    {        Schema::create('users', function (Blueprint $table) {            $table->bigIncrements('id');            $table->string('name');            $table->string('email')->unique();            $table->timestamp('email_verified_at')->nullable();            $table->string('password');            $table->rememberToken();            $table->timestamps();        });    }我的目的是使用 id 为 users 表设置不同的默认角色。
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

在创建 users 表时您无法读取用户,因为您还没有任何用户。


为用户创建此表:


class CreateUsersTable extends Migration

{

    public function up()

    {

        Schema::create('users', function (Blueprint $table) {

            $table->bigIncrements('id');

            $table->string('name');

            $table->string('email')->unique();

            $table->string('role')->nullable();

            $table->timestamp('email_verified_at')->nullable();

            $table->string('password');

            $table->rememberToken();

            $table->timestamps();

        });

    }

}

然后,您可以添加用户并检查id为他们分配角色:


$user = new User();

$user->name = 'name';

$user->email = 'email@example.com';

$user->password = Hash::make("123456");

$user->save();


if ($user->id === $someId) {

    $user->role = 'some_role';

    $user->save();

}


希望能帮助到你。


查看完整回答
反对 回复 2022-01-08
  • 1 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信