1

在http://picqer.com/blog/propel-with-laravel的帮助下,我已经将 Propel 配置为与 Laravel 一起使用。所有模型查询都工作正常,并且所有数据都被正确获取。

但是,toJSONandexportTo('JSON')方法既不适用于对象,也不适用于某些查询返回的 PropelObjectCollection。

Laravel 抛出的异常是:

For exportTo('JSON')and toJSON()all caps 方法

Unknown parser class "PropelArrayParser"

对于toJson()方法:

Unknown parser class "PropelJsonParser"

我认为问题在于 Laravel 的自动加载。我可能缺少一个可以帮助它找到 PropelJsonParser 文件的条目。

PS我不知道'php artisan dump-autoload'会产生什么影响。但我确实按照教程运行了它。

build.properties 文件如下所示:

propel.project = QuranApp
propel.database = mysql
propel.mysql.tableType = InnoDB
propel.database.url = mysql:host=localhost;dbname=quransociety
propel.database.user = user
propel.database.password = password
propel.disableIdentifierQuoting = false
propel.php.dir = ${propel.project.dir}/../../models
propel.output.dir = ${propel.project.dir}/../../database/propel
propel.phpconf.dir = ${propel.project.dir}/conf
propel.schema.dir = ${propel.project.dir}
4

1 回答 1

0

我在 laravel start.php 中添加了这两行(在开头):

set_include_path(dirname(__DIR__) . '/vendor/propel/propel1/runtime/lib/parser' . PATH_SEPARATOR . get_include_path());
require dirname(__DIR__) . '/vendor/propel/propel1/runtime/lib/parser/PropelJSONParser.php';

所以基本上我是手动将它们包括在内,这个错误就消失了。应该有其他方法,与 larvel 自动加载机制一起玩得很好,但到目前为止我并没有以不同的方式解决它

于 2014-03-12T14:21:13.013 回答