【问题标题】:Laravel 4: Eloquent::find() doesn't workLaravel 4:Eloquent::find() 不起作用
【发布时间】:2012-12-26 10:19:23
【问题描述】:

所以我有一个简单的空 Eloquent 类:class Worker extends Eloquent {}。 然后在控制器中我写:Worker::find(1); 我得到一个异常,说 SQL 不正确:

select * where `id` = ?

显然,缺少 from SQL 子句。

哦,我今天为这个应用下载了 Laravel 4。

【问题讨论】:

    标签: laravel eloquent laravel-4


    【解决方案1】:

    在 Laravel 4 中你必须设置一个表格属性

    protected $table = 'foo';

    【讨论】:

    • 这太糟糕了!之前有什么问题?啊,简单的东西慢慢地变成了复杂的东西。
    • 也许是另一个给你的? stackoverflow.com/questions/14285182/…
    • 在将类名复数以给出表名之前。我不知道为什么把它拿出来,但我确实喜欢它哈哈。也可以帮助您完成一些初步文档github.com/laravel/docs
    • 是的,我知道,这是默认设置,如果需要,您仍然可以覆盖它 => 两全其美。
    • 仅供参考,如果您升级到 beta 2,表格识别和复数形式又回来了
    【解决方案2】:

    如前所述,您必须在模型上专门设置$table 属性。 Taylor 有mentioned here 表示,旧的做事方式(默认表名作为模型名称的复数形式)可能正在回归。只是没有一个很好的复数作曲家包,所以可以移植 L3 代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-21
      • 2015-04-19
      • 2014-04-29
      • 2018-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      相关资源
      最近更新 更多