如何从Laravel 5中的MySQL DB查询返回一个整数

时间:2016-05-04 11:42:52

标签: php mysql laravel

在我的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

2 个答案:

答案 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 - 最后的部分是表格中的字段名称,您从中绘制数据。希望这会对你有所帮助。