如何在Laravel中返回查询?

推荐答案1

与查询的含义有几个不同的层次.

如果您问如何获得查询结果,我只是只是将您推荐给文档.

如果您正在使用查询构建器或雄辩创建查询数据库,您可以在发送之前向其添加 - > tosql()方法.

  1. \DB::table('posts')->where('id', '>', 100)->toSql(); 

,它将为您提供SQL.如果运行 - > get()或 - > first()方法,为时已晚.您还可以运行 - > getBindings()以查看您要传递的值.

如果您想要一种组合方法,假设您正在使用mysql而不是使用mysql Postgres您可以使用此功能将它们组合并将其扔进您选择的DB中.

推荐答案2

在Laravel中,有多少查询太多?

恰恰是您制作的时间超过需要做的.没有太高的魔法数字,但是当数字开始攀登时,通常是时候看看如何优化您的工作.

单一最大的罪魁祸首i看?通过大列表迭代并每条条目运行一个或多个查询,而不是连接该数据或首先运行子查询.如果您不确定这意味着什么,请阅读Laravel的查询构建器和雄辩的ORM上的所有内容.正如已经提到的乔纳森(Jonathan)的课程是一个很棒的起点.

现在,由于您可能想要一个纯数字,所以我在页面上看到了1000多个查询,但是我当然当然不会推荐它 (我在看着您糟糕的WordPress主题和插件) .已知的开发人员互相挑战,最能将其描述为查询高尔夫游戏的游戏 - 他们试图生成具有最少查询的给定页面.您可以使用激进的缓存,Redis等作弊,但是在大多数不错的应用程序上,通过查询的单位数量来生成最有意义的输出往往非常困难.

推荐答案3

首先,您必须启用查询日志.请按照这种方式启用查询日志.

尝试{

db :: begintransaction( );

//您的代码

db :: commit() p> } catch(异常$ e){

db :: rollback();

//其他动作

}

e.g:2

在此示例中,我们可以使用Laravel查询构建器的TOSQL()直接获取当前的SQL查询.在此示例中,您不需要启用查询日志或可以直接查询诸如Bellow示例的内容:

$ user = user = user :: where('id','id',1) - > tosql();

print_r($ user);

推荐答案4

pluck()方法检索给定键的所有值.

pluck()方法用于将选定的列数据作为raravel中的数组获取.雄辩.默认情况下,laravel雄辩的返回数据集合.

假设您要从用户表中获取用户的ID.

用户:: pluck('id');

它将返回阵列中的所有用户.

推荐答案5

您的意思是数据库查询.

您可以使用原始查询或ORM.原始查询:

  1. DB::raw('select * from table_name'); 

orm:

您需要先创建模型并指定表名.<<<<

  1. ORM_Name::get(); 

这意味着从表格;

选择 *