kitloong/eloquent-power-joins-with-compoships

应用于连接的 Laravel 魔法,支持 compoships

v1.2.0 2023-02-07 12:20 UTC

This package is auto-updated.

Last update: 2024-09-07 15:38:27 UTC


README

此包是 Eloquent Power Joins 的扩展,以支持 Compoships

现在您可以使用 Laravel 方式使用连接,并支持复合键。

此包支持关系中的复合键

  1. hasOne
  2. HasMany
  3. 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 许可证 许可