当前位置: 首页 > 知识库问答 >
问题:

主钥匙的拉维变换不起作用

扈运浩
2023-03-14

我正在尝试更改我在Laravel中的模型的主键。primaryKey已在数据库和模型中设置,但两者都不起作用。

我得到这个错误消息:

SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“”(SQL:select*fromuserswhere``=123456 limit 1)

在模型中取消设置primaryKey时,会出现以下错误:

SQLSTATE[42S22]:未找到列:“where子句”中的1054未知列“users.id”(SQL:select*fromuserswhereusersid=123456限制1)

这是完全合法的,因为主密钥应该在模型中设置为“vid”。

这是我的模型的基本部分:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Notifications\Notifiable;

class User extends Model implements \Illuminate\Contracts\Auth\Authenticatable
{
    use Notifiable;

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'vid' => 'string'
    ];

    protected $table = 'users';
    protected $primaryKey = 'vid';
    public $incrementing = false;

}

迁移:

        Schema::create('users', function (Blueprint $table) {
            $table->string('vid');
            $table->string('name');
            $table->string('surname');
            $table->integer('val1');
            $table->integer('val2');
            $table->integer('val3');
            $table->string('val4');
            $table->string('val5');
            $table->integer('val6');
            $table->integer('val7');
            $table->integer('val8');
            $table->dateTime('val9');
            $table->string('val10');
            $table->string('val11');
            $table->timestamps();
        });

共有1个答案

蒋文光
2023-03-14

我真的不能告诉你哪里出了问题,但是重新创建用户模型有所帮助。

 类似资料:
  • Targets key To be discussed in order to avoid _Warning: potential malicious behavior - trust data has insufficient signatures for remote repository .dkr.ecr.us-east-1.amazonaws.com/app: valid signatur

  • Snapshot key To rotate the snapshot key: ❯ notary -D -v -s https://127.0.0.1:4443 -d ~/.docker/trust key rotate <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app snapshot -r Enter passphrase for ne

  • Timestamp key The timestamp key can also be rotated: ❯ notary -D -v -s https://127.0.0.1:4443 -d ~/.docker/trust key rotate <aws_account_id>.dkr.ecr.us-east-1.amazonaws.com/app timestamp -r Enter the

  • 我只是写了一些小代码试图让我的KeyEvent管理器工作。 正如你所见,我创建了一个JFrame并添加了gameComponent,它是Game类的一个对象。我将JPanel设置为可调焦,并请求调焦。然后将名为TAdapter的KeyAdapter设置为KeyAdapter。您可以在代码的最底层看到该类,它扩展了KeyAdapter和方法keyPressed()。 我告诉程序在按下一个键时将“按下

  • 我正在研究使用Hibernate 4.1.9注释地图的不同方法 如果我想存储一个Map,其中键是实体值的属性,标记如下所示 请注意,上面的标记不会创建连接表,而是在运行时通过查询返回Map,因此Map是动态的,您不必在map中添加元素Java查询返回它们。 现在,我希望地图的内容反映应用程序添加到地图中的内容,而不是执行动态查询。 我想储存4种不同的地图 在这些情况下,键之间没有关系 我尝试了以下

  • 将W,S和I,k绑定到乒乓球的左右桨。根据Eclipse,代码进入类p1_upaction扩展AbstractAction,但不运行公共void actionPerform(ActionEvent e)。我不知道该怎么办。键输入称为操作未注册。