Laravel 4:Eloquent::find() 不起作用
Posted
技术标签:
【中文标题】Laravel 4:Eloquent::find() 不起作用【英文标题】:Laravel 4: Eloquent::find() doesn't work 【发布时间】:2012-12-26 10:19:23 【问题描述】:所以我有一个简单的空 Eloquent 类:class Worker extends Eloquent
。
然后在控制器中我写:Worker::find(1);
我得到一个异常,说 SQL 不正确:
select * where `id` = ?
显然,缺少 from SQL 子句。
哦,我今天为这个应用下载了 Laravel 4。
【问题讨论】:
【参考方案1】:在 Laravel 4 中你必须设置一个表格属性
protected $table = 'foo';
【讨论】:
这太糟糕了!之前有什么问题?啊,简单的东西慢慢地变成了复杂的东西。 也许是另一个给你的? ***.com/questions/14285182/… 在将类名复数以给出表名之前。我不知道为什么把它拿出来,但我确实喜欢它哈哈。也可以帮助您完成一些初步文档github.com/laravel/docs 是的,我知道,这是默认设置,如果需要,您仍然可以覆盖它 => 两全其美。 仅供参考,如果您升级到 beta 2,表格识别和复数形式又回来了【参考方案2】:如前所述,您必须在模型上专门设置$table
属性。 Taylor 有mentioned here 表示,旧的做事方式(默认表名作为模型名称的复数形式)可能正在回归。只是没有一个很好的复数作曲家包,所以可以移植 L3 代码。
【讨论】:
以上是关于Laravel 4:Eloquent::find() 不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Eloquent::Find() 返回具有现有 ID 的 NULL