这里为啥不用limit,而用take

$countries = Country::with(['cities' => function($query) {
    $query->orderBy('population', 'desc');
    $query->take(3);
}])->get();
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

file

看下源码,只是语法糖而已。

3年前 评论
讨论数量: 8
chowjiawei

我感觉是一样的

难道有这种差别吗:limit 只查并取3个 take可能是 全部查出来 然后取3个? 感觉应该是一样的其实 没看过源码

3年前 评论
勇敢的心 (楼主) 3年前
勇敢的心 (楼主) 3年前

file

看下源码,只是语法糖而已。

3年前 评论

不用纠结了,一毛一样

namespace Illuminate\Database\Query;
class Builder
{
    public function take($value)
    {
        return $this->limit($value);
    }
}
3年前 评论

为了语义化而已,这里必然是 Builder 不会是集合

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!