如何在 Laravel 4 中将对象转换为字符串

1 laravel laravel-4

我在模型中有一个函数,我将它返回到一个变量,如下所示

 $books = DB::select('select * from books where category_id = 2');
 return $books;
Run Code Online (Sandbox Code Playgroud)

Laravel Query Builder 返回一个对象。如何将其从控制器转换为字符串?有一个功能吗?请让我知道。

Ant*_*iro 7

你从这个查询中得到什么

$books = DB::select('select * from books where category_id = 2');
Run Code Online (Sandbox Code Playgroud)

如果你这样做

var_dump($books);
Run Code Online (Sandbox Code Playgroud)

你会看到它是一个数组,而不是一个对象。

您需要一个包含所有记录的大字符串吗?你可以序列化它:

return serialize($books);
Run Code Online (Sandbox Code Playgroud)

但你必须

unserialize($value);
Run Code Online (Sandbox Code Playgroud)

使用它。

您需要使用从该选择中获得的值吗?您可以foreach()在该数组上使用:

foreach($books as $book)
{
   echo $book['name'];
}
Run Code Online (Sandbox Code Playgroud)

或者您可以以不同的方式进行选择:

$books = Book::where('category_id',2)->get();
Run Code Online (Sandbox Code Playgroud)

并使用对象表示法进行 foreach:

foreach($books as $book)
{
   echo $book->name;
}
Run Code Online (Sandbox Code Playgroud)