pendalff/eloquent-joins

支持 Laravel Eloquent ORM 在关系层面上的连接。

0.0.1 2016-07-06 17:02 UTC

This package is auto-updated.

Last update: 2024-09-07 05:15:40 UTC


README

StyleCI Build Status Total Downloads Latest Stable Version Latest Unstable Version License

此包允许您通过调用 $model->join($relation) 简单地连接 Laravel Eloquent 关系的表,该表由您的关系中声明的键指定。列将被自动选择,连接的记录将作为结果集合中的模型进行填充。Laravel 的 Eloquent 支持正常连接,但内部调用底层查询构建器,因此期望表名和连接键的名称作为参数。

安装

Eloquent Joins 可以通过 Packagist 使用 Composer 安装。安装链接

使用方法

使用 trait

在模型中简单地使用 EloquentJoins\ModelTrait

namespace App;

use EloquentJoins\ModelTrait as EloquentJoinsModelTrait;

class User
{
    use EloquentJoinsModelTrait;

    protected $table = 'users';

    public function orders()
    {
        return $this->hasMany('\App\Order');
    }
}

$users = User::join('orders')->get();

在上面的示例中,$users 将包含一个包含所有具有对应 Order 模型的 User 模型的集合(因为我们执行了内连接)。每个对应的 Order 模型都可以在 User 模型的 $orders 属性中找到(通常这会包含一个具有匹配外键的模型集合)。

您可以对多个 join() 调用进行字符串连接,以及使用底层查询对象上通常可用的其他连接类型(joinWhere()leftJoin() 等)。

许可证

Eloquent Joins 是免费的软件,遵循 GPL3 许可证。这允许您用于商业目的使用 Eloquent Joins,但任何衍生作品(对代码的改编)也必须以相同的许可证发布。