【问题标题】:how to get desired column using foreign key from another table in laravel如何使用laravel中另一个表中的外键获取所需的列
【发布时间】:2021-02-23 05:57:45
【问题描述】:

所以有两个表:

products (model name: Product)
categories (model name: Category)

products 表包含列名称为 prd_cat_id,这是一个 foreign key,引用类别表中的 cat_id。每个product 都属于一个category

我想在它们之间建立关系,以便每当我想从products 表中获取数据时,也可以获取category 的名称。

产品型号和类别表:

class Product extends Model {
    use HasFactory;
}

class Category extends Model {
    use HasFactory;
}

categories(cat_id, cat_name, cat_desc, cat_image) 中有 4 列,但我只想将 cat_nameproduct 表的数据一起使用。

如何相应地获取数据?我想在刀片模板中输出结果。

【问题讨论】:

    标签: php mysql laravel eloquent model


    【解决方案1】:

    加入另一个没有使用id的表。您需要指定密钥。

    如果你有一对一的关系,那么你可以使用这个hasOne 关系

    Product模型中获取类别数据,

    return $this->hasOne('App\Models\Category', 'foreign_key', 'local_key');
    

    更多信息,Laravel One to One Relationship

    【讨论】:

    • 其他表使用id,cat_id
    • 您需要匹配prd_cat_id & cat_id 才能获取数据。正确的?所以分别在上述关系中指定这些键。有时会令人困惑,因此请通过交换关系中给出的值来验证键。
    猜你喜欢
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多