llama-laravel/eloquent

扩展Laravel Eloquent ORM。

dev-master 2017-01-03 00:39 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:25:23 UTC


README

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

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

安装

Eloquent Joins可以通过Composer通过Packagist安装

使用

使用特性

在模型中使用Llama\Database\Eloquent\ModelTrait

namespace App;

use Llama\Database\Eloquent\ModelTrait;

class User
{
    use ModelTrait;

    protected $table = 'users';

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

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

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

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

许可证

Eloquent Joins是免费的软件,在[MIT许可证]下授权。这允许您为商业目的使用Eloquent Joins,但任何衍生作品(对代码的改编)也必须以相同的许可证发布。