jjzjj

whereHas

全部标签

php - Laravel - 有没有办法结合 whereHas 和 with

我目前面临一个小问题。仅当存在与特定条件的关系时,我才想返回模型。使用whereHas()方法可以很好地工作。$m=Model::whereHas('programs',function($q){$q->active();});但是,像这样将关系作为属性调用会给我全部(未过滤的结果)。$m->programs;所以基本上我现在正在做的是:$m=Model::whereHas('programs',function($q){$q->active();})->with(array('programs'=>function($q){$q->active();}));这很好用,但我对再次做同样

Php 变量没有传递到 whereHas 函数 - Laravel Eloquent

总结:我无法访问whereHas函数中的$domain变量(如下);Laravel返回以下错误:"Undefinedvariable:domain"我将我的关系包括在内,因为我不确定Eloquent性质以及我尝试调用此查询的方式是否会导致问题。我有一个调用模型(Org)的中间件Org模型有字段subdomain组织模型有publicfunctiondomains(){return$this->hasMany('App\Domain');}域模型(表名域)有字段domain,org_id还有功能publicfunctionorg(){return$this->belongsTo('App

php - 使用 whereHas 查询数组

我想按类别过滤产品(多对多关系)。基本上,用户选择要显示的类别。我要过滤的类别在$request->keywords中。这是我尝试过的:$products=Product::all();foreach($request->keywordsas$keyword){$products=Product::whereHas('categories',function($q)use($keyword){$q->where('title','=',$keyword);})->get();}returnresponse()->json($products);问题是这并没有得到所有的类别,只有数组中最

php - Laravel 如何使用 whereHas 返回相关模型数据

我有Member模型Ledger模型classMemberextendsModel{publicfunctionledger(){return$this->hasMany('App\Ledger','user_id');}}我必须获取成员的分类帐记录(需要成员和分类帐数据),其中ledger.created_at=特定日期,例如ledger.created_at=2017-03-2614:15:26如果我运行下面的脚本$members=Member::whereHas('ledger',function($q){$q->where('created_at','2017-03-2614:

php - Laravel - 在 whereHas 中搜索包含 null 的关系

我正试图找到一种方法来搜索关系。所以,我有一对一的关系(User和UserDetails,其中某些用户可能没有详细信息)。所以,问题是……我怎样才能根据详细信息搜索用户,而且没有详细信息的用户也必须包含在结果中。例子:表用户:用户ID、姓名、电子邮件-1JohnDoejohndoe@address.com-2理查德·蒂姆richardtim@address.com-3迈克尔·伯德michaelbird@address.com表user_details:ID、user_id、状态-1,1,加利福尼亚州-2,2,纽约现在...我想获得所有来自加利福尼亚州的用户,以及所有没有州的用户(在上述

php - Laravel/Eloquent whereHas 与所有项目的关系?

模特歌曲和作家而且我想查询歌曲,以便我只获得ALL其作者具有特定领域的歌曲,我的解决方案是什么?LaravelwhereHas函数将获取所有至少有一个作者具有该领域的歌曲,就像这样。Song::whereHas('writers',function($query){$query->where('writerField','=',true);});但是确保与歌曲相关的ALL作者将“writerField”设置为true的纯粹Eloquent方法是什么? 最佳答案 反转你的约束,并将所需的计数传递给whereHas方法:Song::wh

php - Laravel orderBy whereHas

这个问题是关于:Laravel(5.3)Eloquent-Relationshipissue,请访问此url以获取更多信息。我最终得到了以下脚本:$genres=['action','drama','romance'];$similiarSeries=TheSeries::whereHas('TheGenres',function($q)use($genres){$q->whereIn('genre',$genres);},'>=',1);return$similiarSeries->take(10);它的作用是:它从上述变量中​​检查至少具有1种类型的电影,并返回10部电影(如果存在

php - WhereHas Laravel 中的关系计数条件是什么

我很难理解WhereHas中的关系计数条件.文档页面没有关于它的讨论,但是APIpage谈论它。引用自API。Builder|BuilderwhereHas(string$relation,Closure$callback,string$operator='>=',int$count=1)Addarelationshipcountconditiontothequerywithwhereclauses.示例Resource模型与ResourceCategory有多对多关系publicfunctioncategories(){return$this->belongsToMany('Reso

php - Laravel 5.6 与 whereHas 的多态关系

我在多态关系中面临一个问题,我无法使whereHas起作用。基本上我有一个我想应用的“where”条件。关系代码可以很好地返回相关模型,但一旦应用whereHas就会返回错误。下面是代码订单类:classOrderextendsModel{//functiontoreturnorderspublicstaticfunctiongetAllOrders(){return$orders=Order::with('part.pcategory')->whereHas('part',function($query){$query->where('cat_id',4);})->get();}//

我可以在laravel查询中使用``'wherehas''吗?

我想添加一个whereHas要查询Laravel,但仅当变量为真时。我正在尝试下面的,但没有错误,但在应有的时间内不会返回任何内容。$assets=Asset::with('media')->when($category,function($q)use($category){return$q->whereHas('category',function($query)use($category){$query->whereId($category);});})->offset($offset)->limit($limit)->get();如果$category是真的什么都没有返回。如果$cate