繁体   English   中英

Laravel雄辩的ORM使函数正常工作

[英]Laravel Eloquent ORM get function working Confusion

我是laravel的新手,所以任何人都可以向我解释雄辩的ORM的get()函数到底做什么。 我有以下查询,我需要知道在哪一行查询数据库。

$propertiesQuery = Property::with('country', 'city','bannerInvoicesCount','rejectedBannerInvoicesCount')
           ->where('is_deleted','=',1);  
        if(Auth::user()->type == 'po') {
            $propertiesQuery->where('user_id', '=', Auth::user()->id);
        }

        $propertiesQuery->orderBy('created_at', 'DESC');
        $properties = $propertiesQuery->get();

现在,在上面的代码中,无论是查询db还是调用get()函数时,我都曾经访问过Model。 我无法理解其内部工作。 正是在哪个语句上执行查询。

@Raza在eloquant $ propertiesQuery-> get()步骤之前,它会像这样准备查询:

select * from table where user_id=1

当您调用/触发$ propertiesQuery-> get()方法时,它会将查询转发到数据库并针对您的查询获取记录。 像,通常我们在普通sql中执行:

eg: mysql_query($query);
then mysql_fetch_assoc() etc methods

因此get()方法包含以下内容:执行查询并以数组格式返回所有记录。

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM