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

Laravel 4.1 比 4.0 慢 10 倍

laravel5.4学习--laravel安装

Laravel5.4 快速开发简书网站

从 4.1 升级到 4.2 后 Laravel 控制器路由中断

laravel5.4学习--laravel基本路由