在我的Laravel控制器中,我使用以下代码:
$usernotes = DB::select('SELECT note_id FROM note_user WHERE user_id = 1');
这应该从我的多对多表中获取note_id
,它确实如此。但是return $usernotes;
输出
[{"paper_id":15}]
这看起来像一个数组或一个字符串,但我只需要一个简单的整数15
,所以我可以把它放到像
$somevariable = someModel::find($usernotes)
$usernotes
看起来不像是一个数字而且运行上面一行会给我一个错误:
helpers.php中的ErrorException第740行:类stdClass的对象可以 不能转换为字符串
如何从该字符串中返回该数字15
?
答案 0 :(得分:1)
当您运行查询时,您将获得一组对象。要获取ID,您需要获取其中一个对象的属性。所以试试这个:
$id = $usernotes->first()->note_id; // or maybe this will work $id = $usernotes[0]->note_id;
或者这个:
DB::table('note_user')->select('note_id')->where('user_id', 1)->first()->note_id;
如果您正在使用模型:
NoteUser::find(1)->note_id;
答案 1 :(得分:0)
如果您使用的是模型,也可以尝试这样的事情:
$department_id = Department::select('id')->where('dep_name','=', 'mydepartmentname')->first()->id;
$department_id
- 是我们想要从数据库中分配值的变量的名称。
部门是模型id
- 最后的部分是表格中的字段名称,您从中绘制数据。希望这会对你有所帮助。