tjbp / eloquent-joins
支持 Laravel Eloquent ORM 关系级别的连接。
dev-master
2015-12-28 16:47 UTC
Requires
- php: >=5.5.9
- illuminate/database: ^5.0
Requires (Dev)
- mockery/mockery: ~0.9.1
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-09-15 21:21:32 UTC
README
此包允许您简单地调用 $model->join($relation)
来在您的 Laravel Eloquent 关系表上执行连接。列将自动选择,并且连接的记录将作为模型在结果集合中重新激活。Laravel 的 Eloquent 通常支持连接,但内部调用底层查询构建器,因此期望以表名和连接键作为参数。
安装
Eloquent Joins 可通过 Packagist 使用 Composer 安装 。
用法
使用特性
在模型中使用 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 用于商业目的,但任何衍生作品(对代码的改编)也必须以相同的许可证发布。