Laravel 5 laravel在返回时抛出错误->;控制器中的第一个()

Laravel 5 laravel在返回时抛出错误->;控制器中的第一个(),laravel-5,eloquent,Laravel 5,Eloquent,这: 将返回错误: Response.php第399行出现意外值异常: 响应内容必须是一个字符串或对象,该字符串或对象实现了\uuuToString(),给定了“对象”。 这不会返回错误(但我无法使用它,因为我需要的是对象而不是数组): 怎么了 谢谢,DBfacade将返回一个原始PHP对象。从Laravel中的控制器返回数据时,它应该是字符串、数组、雄辩模型或响应对象(即视图)。由于返回的是原始对象,Laravel试图将其转换为字符串,这是问题的根源 解决此问题的最佳方法是使用a而不是DBfa

这:

将返回错误:
Response.php第399行出现意外值异常:
响应内容必须是一个字符串或对象,该字符串或对象实现了\uuuToString(),给定了“对象”。

这不会返回错误(但我无法使用它,因为我需要的是对象而不是数组):

怎么了


谢谢,
DB
facade将返回一个原始PHP对象。从Laravel中的控制器返回数据时,它应该是字符串、数组、雄辩模型或响应对象(即视图)。由于返回的是原始对象,Laravel试图将其转换为字符串,这是问题的根源

解决此问题的最佳方法是使用a而不是
DB
facade

public function show($id)
    {
        return DB::table('apps')->where('id', $id)->get();
    }
注意:我在这里使用的是
firstOrFail()
,因为如果某个应用程序不存在,Laravel将自动中止404

通过返回一个雄辩的模型,Laravel知道如何自动将其转换为JSON

如果您不想使用雄辩,那么将对象的大小写为数组

public function show($id)
{
    return AppModel::where('id', $id)->firstOrFail();
}

Laravel将获取该数组,并在响应中将其转换为JSON。

DBfacade将返回一个原始PHP对象。从Laravel中的控制器返回数据时,它应该是字符串、数组、雄辩模型或响应对象(即视图)。由于返回的是原始对象,Laravel试图将其转换为字符串,这是问题的根源

解决此问题的最佳方法是使用a而不是
DB
facade

public function show($id)
    {
        return DB::table('apps')->where('id', $id)->get();
    }
注意:我在这里使用的是
firstOrFail()
,因为如果某个应用程序不存在,Laravel将自动中止404

通过返回一个雄辩的模型,Laravel知道如何自动将其转换为JSON

如果您不想使用雄辩,那么将对象的大小写为数组

public function show($id)
{
    return AppModel::where('id', $id)->firstOrFail();
}

Laravel将在响应中将该数组转换为JSON。

您是否为“应用程序”设置了模型?您应该先创建一个模型,然后使用
AppModel::find($id)
您是否尝试过这个返回DB::table('apps')->where('id',$id)->@owaishanif786这将不起作用,
first
是一个方法,而不是一个属性,DB不会尝试神奇地调用它。这里的问题是DB facade返回原始PHP对象,而Laravel希望从控制器返回字符串、数组/集合、响应对象或雄辩的模型,而不是原始对象。您是否为“应用程序”设置了模型?您应该先创建一个模型,然后使用
AppModel::find($id)
您是否尝试过这个返回DB::table('apps')->where('id',$id)->@owaishanif786这将不起作用,
first
是一个方法,而不是一个属性,DB不会尝试神奇地调用它。这里的问题是DB facade返回一个原始PHP对象,而Laravel希望从控制器返回一个字符串、数组/集合、响应对象或雄辩的模型,而不是原始对象。我得到了错误:
调用未定义的方法illumb\Database\Query\Builder::firstOrFail()
BTW,我不能使用AppModel,因为我想在控制器之间进行代码重用,所以我需要一些动态的东西
return DB::table('apps')->where('id',$id)->first()
将在Response.php第399行返回
意外值异常:响应内容必须是实现uu-toString(),“object”的字符串或对象。
@SexyMF是否尝试了“first()”?别忘了也向数组施放。@jfadich请看您上面的注释<代码>返回DB::table('apps')->where('id',$id)->first()@fatnjazzy看看答案。你错过了真正修复它的部分。需要将响应转换为数组<代码>返回(数组)DB::table('apps')->where('id',$id)->first()我得到错误:
调用未定义的方法illumb\Database\Query\Builder::firstOrFail()
顺便说一句,我不能使用AppModel,因为我想在控制器之间重复使用代码,所以我需要一些动态的
return DB::table('apps')->where('id',$id)->first()
将在Response.php第399行返回
意外值异常:响应内容必须是实现uu-toString(),“object”的字符串或对象。
@SexyMF是否尝试了“first()”?别忘了也向数组施放。@jfadich请看您上面的注释<代码>返回DB::table('apps')->where('id',$id)->first()@fatnjazzy看看答案。你错过了真正修复它的部分。需要将响应转换为数组<代码>返回(数组)DB::table('apps')->where('id',$id)->first()