将Laravel Collection传递给Vue

时间:2017-12-16 05:17:38

标签: json laravel laravel-5.5

我正在尝试从模型客户返回客户,其中id< 10.我在数据库中确实有一些。

$customers = Customer::where('id', '<', 10)->get();
return json_encode(['customers' => $customers]);

以上代码会出错&#34;尾随数据&#34; Trailing data error

当我尝试dd($ customers)时,我得到了一个集合Customer的列表 collection customer dump

我不知道为什么我会继续这样做以及为什么模型会返回原始集合而不是客户列表中的对象???

似乎是一个空日期&#34; updated_at&#34;字段导致错误。不知道为什么!

解决者:

在我必须做的客户模型上:

//ask Laravel to not manage default date columns
public $timestamps = false;

我也要改变这些列:

public function setDateRemindedAttribute($value)
{
    if (strlen($value)) {
        $this->attributes['date_reminded'] = Carbon::createFromFormat('d/m/Y', $value);
    } else {
        $this->attributes['date_reminded'] = null;
    }
}

public function setUpdatedAtAttribute($value)
{
    if (strlen($value)) {
        $this->attributes['updated_at'] = Carbon::createFromFormat('d/m/Y', $value);
    } else {
        $this->attributes['updated_at'] = $_SERVER['REQUEST_TIME'];
    }
}

1 个答案:

答案 0 :(得分:0)

像这样使用response()->json()

$customers = Customer::where('id', '<', 10)->get();
return response()->json(['customers' => $customers]);