Php 嵌套json数据Laravel 5中的WHERE子句
作为上一个问题的后续问题,我不知道当您有嵌套的Php 嵌套json数据Laravel 5中的WHERE子句,php,json,laravel,laravel-5,Php,Json,Laravel,Laravel 5,作为上一个问题的后续问题,我不知道当您有嵌套的json数据时如何使用WHERE子句。请参阅我的最后一篇文章作为参考 因此,我在模型中使用关系生成了此类数据: [ { "id":1, "name":"South Luzon", "branches":[ { "id":1, "machinenum":108, "name":"Alaminos", "region_
json
数据时如何使用WHERE
子句。请参阅我的最后一篇文章作为参考
因此,我在模型中使用关系生成了此类数据:
[
{
"id":1,
"name":"South Luzon",
"branches":[
{
"id":1,
"machinenum":108,
"name":"Alaminos",
"region_id":1,
"user":{
"id":52,
"name":"",
"email":"baic@alaminosbranch.addessacorp",
"role":0,
"machinenum":108,
"created_at":"2016-07-11 05:58:04",
"updated_at":"2016-07-14 09:49:00",
"pendings":[
{
"id":10,
"user_id":52,
"region":"South Luzon",
"branch":"Alaminos",
"docdate":"2016-07-14 00:00:00",
"ls_or":12345,
"por":1,
"ls_ci":12345,
"ci":2,
"ls_ch":12345,
"ch":2,
"dep":5,
"cla":0,
"grpo":3,
"si":25,
"so":62,
"sts":2,
"disb":3,
"arcm":5,
"apcm":65,
"pint":2,
"rc_cash":1,
"reason":"Test Reason Alaminos",
"created_at":"2016-07-14 09:48:55",
"updated_at":"2016-07-14 09:48:55"
}
]
}
}
我试图做的是使用分支循环所有区域
,并获取每个分支的挂起
。我成功地完成了最后一个循环。现在,我只想过滤挂起的日期
我正在尝试这样做:
$regions = Region::with(array('branches->user->pendings' => function($query) {
$query->where('created_at', '=', '2016-07-14 09:48:55');
}))->get();
但我得到了一个错误:
BadMethodCallException in Builder.php line 2345:
Call to undefined method Illuminate\Database\Query\Builder::branches->user->pendings()
我也做了一些研究,但最后问了一下。提前感谢您,请不要忘记查看我的最后一个作为您的参考。在以json输出之前,您能否先对关系执行此操作?您可以在那里构建此查询,以便json输出是干净的。您上一篇文章的答案可能会引导您找到解决方案。在以json格式输出之前,您能否先对关系执行此操作?您可以在那里构建此查询,以便json输出是干净的。您上一篇文章的答案可能会引导您找到解决方案。此代码似乎有效:
$regions = App\Region::with(['pendings' => function ($query) {
$query->where('created_at', '=', '2016-07-14 09:48:55');
}])->get();
$regions = Region::with(['branches.user.pendings' => function($query){
$query->where('created_at', 'like', '%2016-07-12%');
}])->get();
请确认这是最佳做法还是有更好的方法。此代码似乎有效:
$regions = Region::with(['branches.user.pendings' => function($query){
$query->where('created_at', 'like', '%2016-07-12%');
}])->get();
请确认这是最佳做法还是有更好的方法。我问题中的日期只是一个例子。显然,日期将位于一个变量中,如$filter\u date='2016-07-14'
。而且,可能只有在视图中使用
或
标记检索数据,然后将其传递给控制器
以处理和构建逻辑。我知道。当您执行以下关系时:function branchs(){return$this->hasMany('App\Branch')->with('usermachines')->where('field','value');}您已经可以在模型中执行该操作,因此输出将是干净的。哦,我明白了。但是如何通过控制器将变量date
传递到模型中?有什么想法吗?然后您可以在该模型内创建方法,并在控制器中以date
作为参数调用它?塔玛法哈。Panu ko pero ipapasa ung date galingcontroller
papuntangmodel
?我问题中的日期只是一个例子。显然,日期将位于一个变量中,如$filter\u date='2016-07-14'
。而且,可能只有在视图中使用
或
标记检索数据,然后将其传递给控制器
以处理和构建逻辑。我知道。当您执行以下关系时:function branchs(){return$this->hasMany('App\Branch')->with('usermachines')->where('field','value');}您已经可以在模型中执行该操作,因此输出将是干净的。哦,我明白了。但是如何通过控制器将变量date
传递到模型中?有什么想法吗?然后您可以在该模型内创建方法,并在控制器中以date
作为参数调用它?塔玛法哈。您的手机是哪种型号的?controller
papuntangmodel
?