我在模型中有一个函数,我将它返回给一个变量,如下所示
$books = DB::select('select * from books where category_id = 2');
return $books;
Laravel Query Builder 返回一个对象。我如何将它转换为来自 Controller 的字符串?有那个功能吗?请告诉我。
最佳答案
你从这个查询中得到了什么
$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;
}
关于laravel - 我如何在 laravel 4 中将对象转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20976666/