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 galing
controller
papuntang
model
?我问题中的日期只是一个例子。显然,日期将位于一个变量中,如
$filter\u date='2016-07-14'
。而且,可能只有在
视图中使用
标记检索数据,然后将其传递给
控制器
以处理和构建逻辑。我知道。当您执行以下关系时:function branchs(){return$this->hasMany('App\Branch')->with('usermachines')->where('field','value');}您已经可以在模型中执行该操作,因此输出将是干净的。哦,我明白了。但是如何通过控制器将变量
date
传递到模型中?有什么想法吗?然后您可以在该模型内创建方法,并在控制器中以
date
作为参数调用它?塔玛法哈。您的手机是哪种型号的?
controller
papuntang
model