kitloong / eloquent-power-joins-with-compoships
应用于连接的 Laravel 魔法,支持 compoships
v1.2.0
2023-02-07 12:20 UTC
Requires
Requires (Dev)
- laravel/legacy-factories: ^1.1
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- squizlabs/php_codesniffer: ^3.6
README
此包是 Eloquent Power Joins 的扩展,以支持 Compoships。
现在您可以使用 Laravel 方式使用连接,并支持复合键。
此包支持关系中的复合键
- hasOne
- HasMany
- belongsTo
您可以在这里阅读详细说明。
安装
您可以通过 composer 安装此包
composer require kitloong/eloquent-power-joins-with-compoships
用法
要实现具有复合键的连接
select users.* from users inner join posts on users.team_id = posts.team_id and users.category_id = posts.category_id;
首先,您需要以 Compoships 的方式定义模型关系。
use Awobaz\Compoships\Compoships; use Kirschbaum\PowerJoins\PowerJoins; class User extends Model { use PowerJoins; use Compoships; public function posts() { return $this->hasMany( Post::class, ['team_id', 'category_id'], ['team_id', 'category_id'] ); } }
然后,您可以简单地写出以下内容来获得相同的结果
User::joinRelationship('posts');
许可
此包是开源软件,根据 MIT 许可证 许可