如何使用laravel中另一个表中的外键获取所需的列
Posted
技术标签:
【中文标题】如何使用laravel中另一个表中的外键获取所需的列【英文标题】:how to get desired column using foreign key from another table in 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_name
与 product
表的数据一起使用。
如何相应地获取数据?我想在刀片模板中输出结果。
【问题讨论】:
【参考方案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
才能获取数据。正确的?所以分别在上述关系中指定这些键。有时会令人困惑,因此请通过交换关系中给出的值来验证键。以上是关于如何使用laravel中另一个表中的外键获取所需的列的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Laravel Vue 通讯录项目中的外键表中获取数据
如何使用 CodeIgniter 3 中的外键从表中获取列数据