CY-Left

PHP基本功底

Laravel Eloquent with 预加载

Laravel Eloquent with 预加载

Eloquent 一对多, 多对多模型关联数据数据获取

/**
 * 数据表 X
*/
class X{
    protected $table = 'X';
}

```php
/**
 * 映射关系建立 Y 对 X 的映射 【1:n】
*/
class Y{
    protected $table = 'Y';

    // Y 表和 X 表的 一对多映射
    public function relation ()
    {
        return $this->hasMany('App\X');
    }
}

class { /** * 获取 Y 表中 id 为 1 并将其关联到 X */ public function getOne () { X::find(1)->relation(); } /** * 获取 Y 表中前 10 条记录,并将其关联到 X */ public function getMore () { X::take(10)->with('relation'); } /** * 获取 Y 表中前 10 条记录,并将其关联到 X */ public function getMore () { X::take(10) ->select('外键 or 主键') ->with(['relation' => function($query){ $query->select('外键 or 主键') }]); } }

本文虽拙,却也系作者劳动,转载还请保留本文链接: http://cyleft.com/?p=893