【问题标题】:Get Values on array from array Laravel PHP从数组 Laravel PHP 中获取数组的值
【发布时间】:2017-07-21 18:22:44
【问题描述】:

我正在 laravel 中制定计划任务,我需要知道其他表的值,在这种情况下,我获取属性,然后我从表属性中的外键将句点保存在数组中,稍后我需要表格期间“日期”的值,但是当我得到日志时,我得到了这个。

[2017-07-21 18:11:50] local.INFO: [{"id":5,"title":"Hola","date":"2017-07-25"}] 
[2017-07-21 18:11:50] local.INFO: [{"id":4,"title":"dsfsd","date":"2017-07-26"}]
[2017-07-21 18:11:50] local.INFO: [{"id":4,"title":"dsfsd","date":"2017-07-26"}]
[2017-07-21 18:11:50] local.INFO: [{"id":4,"title":"dsfsd","date":"2017-07-26"}]

而且我无法使用 $v->{"id"}, $v->id, $v["id"] 访问索引,我不知道是否是我在日期中保存信息的方式,这是我的功能,谢谢。

protected function schedule(Schedule $schedule)
{
    $schedule->call(function () {

        $properties = DB::table( 'properties' )->where( 'status', '=', 1 )->whereNotNull( 'id_client' )->whereNotNull( 'id_period' )->get();

        $dates = array();

        foreach ($properties as $k => $v) {
            $dates[$k] = DB::table( 'periods' )->where( 'id', '=', $v->id_period )->whereDate('date', '>', date('Y-m-d'))->get();
        }

        $properties_status = array();

        /* ----- HERE ---------*/
        foreach ($dates as $v) {
            Log::info($v);
        }


    })->everyMinute();
}

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    这是 JSON。它是一种数据格式。您可以使用以下方法在 PHP 中对其进行解码:

    $var = json_decode($v, true);
    

    $var 你会得到一个普通的数组。您可以使用print_r($var); 进行简单检查。


    手动

    PHP: json_decode

    【讨论】:

    • 谢谢,我知道jajajja
    【解决方案2】:

    你应该json_decode($v) 这样你就可以把它当作一个结构体。否则它对你来说只是一个字符串。

    【讨论】:

      【解决方案3】:

      DB::table()->get() 返回一个集合,所以这将起作用:

      Log::info($v->id);
      

      【讨论】:

        猜你喜欢
        • 2021-03-05
        • 1970-01-01
        • 1970-01-01
        • 2016-06-06
        • 1970-01-01
        • 2018-05-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多