我正在尝试使用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子句有什么变化吗?或者我不明白怎么做?
答案 0 :(得分:9)
你试过了吗?
return MainContact::where('flag', '=', '1')->get();
或更简单:
return MainContact::where_flag(1)->get();
答案 1 :(得分:1)
你需要在那里调用get()
方法。
return MainContact::where('flag', '=', '1')->get();
答案 2 :(得分:0)
感谢您的指导!
我使用类别表:
路线:
<?php
Route::get('/', function()
{
return Categories::where('parent_id', '>', 0);
});
返回错误是类Illuminate的对象\ Database \ Eloquent \ Builder无法转换为字符串
所以我尝试使用结束代码中的&gt; get()。