jjzjj

php - WhereIn Eloquent 形式

我有两个数组temp[]time[]例如,如果我的数组中有这样的数据temptime[0]8045[1]7050[2]8565[3]9030我想根据这两个数组参数查询数据像(select*fromMyTablewhere(temperature=80andtime=45))forthenext(select*fromMyTablewhere(temperature=70andtime=50))等等我正在做这样的事情$mix=MyTable::whereIN('temperature',$temp)->whereIN('time',$time)->where('category',$ca

php - Laravel Eloquent whereIn,从数据库中检索记录,包括缺失日期

我是Laravel的新手。我正在构建计算您每日步数的应用程序。我正在构建API,所以当数据库中没有数组中选定日期的结果时,我需要返回0个步骤。但是,如果有某些天的数据返回实际步数,而其他天则返回0。我试过这个:$steps=Step::whereIn('date',$dates)->where('user_id',Auth::id())->get();但它只返回匹配项。正如我所写,我想返回所有天的数据,而不仅仅是数据库中的天数。请帮助:) 最佳答案 这对于一个简单的查询来说是不可能的,因为数据库不能给你任何东西,它不知道。您可以通过

php - Laravel:whereIn 变量

我试图在变量$sections中收集属于发生在它们身上的部分的所有记录。但只有第1部分的那些人才会接我。有什么建议吗?$sections='1,2,3';$data=News::where('active','1')->whereIn('section_id',[$sections])->get();如果我在查询中用$sections替换值,这会起作用,但如果我使用变量$sections,它就不起作用。谢谢。 最佳答案 当您使用whereIn()时,您必须传递一个数组而不是字符串:$sections=explode(',','1,2

php - Laravel 5.2 获取与 whereIn() 中相同顺序的记录

我有这个带有记录ID的数组:$record_ids=[60,66,70,64,69,67,65,57];然后我使用模型获取行,如下所示:$result=Model::whereIn('id',$record_ids)->get();问题-我想获得与$record_ids数组中相同顺序的行。Laravel以ID升序向我返回这些行,如下所示:[57,60,64,65,66,67,69,70]该怎么做?如何让Laravel“默认不按IDASC排序”?谢谢。 最佳答案 您可以像这样使用orderByRaw()$result=Model::w

php - 我们可以在不等于的情况下使用 whereIn 子句吗

我需要做以下事情Model::select('column')->whereIn('column','!=',array)->first();那么我怎样才能做到这一点。任何建议谢谢。 最佳答案 您可以使用whereNotIn而不是whereIn。像这样:Model::select('column')->whereNotIn('column',array(1,2,3))->first(); 关于php-我们可以在不等于的情况下使用whereIn子句吗,我们在StackOverflow上找到

php - Laravel:如何使用 whereIn 方法获取自定义排序的 Eloquent 集合

我有一组产品ID,我需要根据这些ID检索模型集合。数组是这样的:$ids=array(9,2,16,11,8,1,18);现在,我正在使用以下代码行来获取集合。$products=Product::whereIn('id',$ids)->get();但它会根据产品的ID对产品进行排序。例如:1、2、8、9、11、16、18。我需要的是与$ids数组中相同的顺序,即9,2,16,11,8,1,18。我应该怎么做才能获得与数组中相同的顺序? 最佳答案 使用mysql的Field()函数(如果你使用的是mysql数据库)和laravel的

php - laravel query builder 如何在 wherein 函数中使用 like

$book=array('book1','book2');$book数组元素编号是可变的。它可能有2个元素或20个元素我需要这样查询:select*frombookwherebooknamelike%book1%orbooknamelike%book2%要在laravel5中进行此查询,有一个选项:$name=DB::Table('bookinfo')->select('*')->wherein('bookname',$book)->get();但是它使用了=operator我需要使用likeoperator 最佳答案 感谢大家帮助

php - laravel query builder 如何在 wherein 函数中使用 like

$book=array('book1','book2');$book数组元素编号是可变的。它可能有2个元素或20个元素我需要这样查询:select*frombookwherebooknamelike%book1%orbooknamelike%book2%要在laravel5中进行此查询,有一个选项:$name=DB::Table('bookinfo')->select('*')->wherein('bookname',$book)->get();但是它使用了=operator我需要使用likeoperator 最佳答案 感谢大家帮助

php - 查询 Laravel 选择 WhereIn 数组

这个查询不能正常工作,它只显示1行$data=Post::select('id','name')->whereIn('id',[$order])->orderByRaw(\DB::raw("FIELD(id,$order)"))->get();但这工作正常,它显示所有行$data=Post::select('id','name')->whereIn('id',[1,2,3])->orderByRaw(\DB::raw("FIELD(id,$order)"))->get();谢谢! 最佳答案 您的查询在这里:-$data=Post::

mysql - Laravel MySQL 如何按照与 whereIn 子句中相同的顺序对结果进行排序

我有两个查询,第一个查询按特定顺序给我一个ID数组。然后我将id数组传递给第二个查询,如下所示:Operation::whereIn('id',$ids)->get();但是当我输出该查询的结果时,顺序已经改变,如果数组$ids类似于(4,2,6,9),这是我希望结果的顺序,输出将给我2,4,6,9。我怎样才能避免这种情况? 最佳答案 MySQL排序方式与wherein子句相同:$ids;//arrayofids$placeholders=implode(',',array_fill(0,count($ids),'?'));//st
12