laravel-4 - Laravel 4 - 与 Eloquent 的简单连接?

标签 laravel-4 relational-database eloquent

我只是想用 Laravel 4 的 Eloquent ORM 连接 2 个表。这些表格是:

表格:产品

ID | CATEGORY_ID | NAME
-------------------------
 1 |      2      | Hammer  
 2 |      2      | Saw
 3 |      1      | Apple

表格:类别

ID | NAME
-----------
 1 | Food
 2 | Tools

当然这可以通过 SQL 来完成:

SELECT products.name, categories.name
FROM products
INNER JOIN categories ON products.category_id = categories.id

这将输出:

Hammer | Tools
Saw    | Tools
Apple  | Food

但是有没有一种更简单的方法可以使用 Laravel 的 Eloquent 获得相同的结果,也许使用内置的表关系?

最佳答案

在模型中设置多对一关系:

类别.php

public function products() {
    return $this->hasMany('Product');
}

产品.php

public function category() {
    return $this->belongsTo('Category');
}

然后调用:

$products = Product::with('category')->get();

对于结果的每个元素,$products->name$products->category->name 将包含您的字段。

关于laravel-4 - Laravel 4 - 与 Eloquent 的简单连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863693/

相关文章:

sql - 将 SQL 查询转换为 Laravel 4 Eloquent

mysql - Mysql中如何关联表

laravel - 在 Laravel 中将时间戳转换为日期?

mysql - laravel 4 - 如何限制(采取和跳过) Eloquent ORM?

php - 数字的 Laravel 规则验证

laravel - Laravel 4 上具有相同供应商文件夹的多个项目

laravel - 如何在 Laravel 4 中删除文件

c - 赋值从指针生成整数,无需在 C 中进行强制转换

foreign-keys - 规范化为 3NF(第三范式)时,您能否将复合键和/或外键移动到其他表

php - Laravel Eloquent 和多重连接