我在模型中有一个函数,我把它返回到一个变量,如下面的
$books = DB::select('select * from books where category_id = 2');
return $books;
Laravel Query Builder返回一个对象。如何将它转换为控制器中的字符串?有功能吗?请让我知道。
答案 0 :(得分:3)
您从此查询中获得了什么
$books = DB::select('select * from books where category_id = 2');
如果你这样做
var_dump($books);
你会发现它是一个数组,而不是一个对象。
你需要一个包含所有记录的大字符串?你可以序列化它:
return serialize($books);
但你必须
unserialize($value);
使用它。
您需要使用从该选择中获得的值吗?您可以在该阵列上使用foreach()
:
foreach($books as $book)
{
echo $book['name'];
}
或者您可以选择不同的方式:
$books = Book::where('category_id',2)->get();
使用对象表示法做你的foreach:
foreach($books as $book)
{
echo $book->name;
}