2

我正在尝试使用 Laravel 4 中的 where 子句来调用我的数据库。听起来很简单,但我遇到了一个没有意义的错误。此调用有效:

return MainContact::all();

当我查看该页面时,我得到了我的数据的 JSON 表示,以及我的所有数据,正如你所期望的那样。它包括:

... "flag":1 ...

因此,当我尝试这样做时,如 Laravel 文档中所述:

return MainContact::where('flag', '=', '1');

你会认为它会起作用,但事实并非如此。我已经尝试将数字作为字符串和整数,但都不起作用。我收到此错误:

ErrorException: Catchable Fatal Error: Object of class 
Illuminate\Database\Eloquent\Builder could not be converted to string in 
/Users/universal/Sites/universalLaser/leads/vendor/symfony/http-foundation/Symfony/
Component/HttpFoundation/Response.php line 351

Laravel 4 中的 where 子句有什么变化吗?还是我不明白该怎么做?

4

3 回答 3

9

你有没有尝试过:

return MainContact::where('flag', '=', '1')->get();

或更简单地说:

return MainContact::where_flag(1)->get();
于 2013-01-08T16:00:05.837 回答
1

你需要get()在最后调用方法。

return MainContact::where('flag', '=', '1')->get();
于 2013-01-08T16:00:29.443 回答
0

谢谢指导!

我使用类别表:

  • ID
  • 姓名
  • parent_id

并通过:

<?php

Route::get('/', function()
{
    return Categories::where('parent_id', '>', 0);
});

返回错误是 Illuminate\Database\Eloquent\Builder 类的对象无法转换为字符串

所以我尝试 ->get() 在它工作的结束代码中。

于 2014-02-24T03:27:44.497 回答