首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel组合主键关系

Laravel组合主键关系
EN

Stack Overflow用户
提问于 2019-06-12 01:46:35
回答 2查看 1.4K关注 0票数 0

我正在尝试调用这个hasOne函数,但是我有两个主键,我该怎么做呢?

代码语言:javascript
复制
    public function user_ratings()
    {
        return $this->hasOne('App\User_rating', 'id_user', 'id');
    }

User_rating表

代码语言:javascript
复制
Schema::create('user_rating', function (Blueprint $table) {
            $table->integer('id_user')->unsigned(); //Increments es unsigned por defecto
            $table->integer('id_item')->unsigned();
            $table->integer('rating');
            $table->text('comment');
            $table->timestamps();

            $table->primary(['id_user', 'id_item']);

            $table->foreign('id_user')->references('id')->on('users')
                ->onUpdate('restrict')
                ->onDelete('cascade');

            $table->foreign('id_item')->references('id')->on('products')
                ->onUpdate('restrict')
                ->onDelete('cascade');
        });

这是我的数据库

EN

回答 2

Stack Overflow用户

发布于 2019-06-12 02:59:18

代码语言:javascript
复制
    public function user_ratings()
    {
        return $this->hasOne('App\User_rating', 'id_user', 'id');
    }

第二个参数是外键,第三个参数是本地键。

票数 0
EN

Stack Overflow用户

发布于 2019-06-12 03:06:23

虽然Laravel框架支持使用复合主键创建数据库表,但Eloquent和probably never will不支持它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56549185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档