Php 无法将Illumb\Database\Eloquent\Builder类的对象转换为字符串

Php 无法将Illumb\Database\Eloquent\Builder类的对象转换为字符串,php,model,eloquent,laravel-5.2,Php,Model,Eloquent,Laravel 5.2,我有这个密码。一切正常-它从数据库获取数据,但我无法返回。我使用jQuery发布它 Route::post('get/images', function(){ $images = App\Images::where('realisation_id',Request::get('id')); return $images; }); 它回来了 无法将Illumb\Database\Eloquent\Builder类的对象转换为字符串 我真蠢 Route::post('get/ima

我有这个密码。一切正常-它从数据库获取数据,但我无法返回。我使用jQuery发布它

Route::post('get/images', function(){
    $images = App\Images::where('realisation_id',Request::get('id'));
    return $images;
});
它回来了

无法将Illumb\Database\Eloquent\Builder类的对象转换为字符串

我真蠢

Route::post('get/images', function(){
    $images = App\Images::where('realisation_id',Request::get('id'))->get();
    return $images->toJson();
});

一切都很酷

您不是在执行查询,只是在构建它。。。。这就是你为你的路线返回的东西,一个查询对象,你不能仅仅使用你发布的代码获得任何数据。。。。在返回数据之前,获取数据,并可能对其进行json编码(否则您只需尝试返回一个集合对象)。我刚刚在其他论坛或Laravel文档中找到了这个解决方案(我的意思是我刚才在这里展示的解决方案)。我将尝试:)当我使用json_encode($images)的时候;它返回空数组,但当我使用return$images->count()时,它返回从db获取的实际数据量。不要使用PHP的
json\u encode()
函数,因为您在这里针对框架编程。这是为有相同错误的人设计的,他们可能认为他们可以尝试这个(错误的)解决方案。也请考虑接受您自己的答案为有效。Laravel中的<代码>集合类具有<代码> tojShan.()/Case>方法始终存在。直接返回集合将不起作用,因为
Response
类将尝试将其转换为正好给出此错误消息的字符串。我在这里也使用了JSON API(POST请求)。链接到5.6:现在我看到,我需要在
where()
之后调用
->get()
(只返回
Builder
实例)。错误消息消失,JSON被正确呈现。