相关疑难解决方法(0)

laravel 4 - 如何限制(采取和跳过)雄辩的ORM?

TL; DR

您是否可以限制使用的Eloquent ORM查询take(),skip()以便生成的mysql查询也受限制,并且它不必返回整个数据集?

如果是这样,你会如何修改:

$test = User::find(1)->games->toArray();
Run Code Online (Sandbox Code Playgroud)

包括limit 3 offset 2


表:

users       games           userGames
-- id       -- id           -- user_id
-- name     -- name         -- game_id
            -- steam_id
Run Code Online (Sandbox Code Playgroud)

楷模:

class User extends Eloquent {
    public function games() {
        return $this->belongsToMany('Game', 'userGames', 'user_id', 'game_id');
    }
}

class Game extends Eloquent {
    public function users() {
        return $this->belongsToMany('User', 'userGames', 'user_id', 'game_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

查询生成器中的限制

使用常规Laravel 查询生成器,我可以得到所有games属于userID 1,并限制其结果与take()和 …

mysql limit laravel eloquent laravel-4

17
推荐指数
1
解决办法
4万
查看次数

获得与Eloquent的关系的第一个元素

我想知道是否可以检索与Eloquent关系的第一个元素.

这不起作用:

$posts = Post::with(['medias' => function($q) {
    $q->where('type', 'landscape')
      // not working
      ->limit(1);
      // not working
      ->take(1);
      // not working
      ->first();
}])->get();
Run Code Online (Sandbox Code Playgroud)

这是一对多的关系.

先感谢您 !

php mysql laravel eloquent

5
推荐指数
0
解决办法
92
查看次数

标签 统计

eloquent ×2

laravel ×2

mysql ×2

laravel-4 ×1

limit ×1

php ×1