推动toJson或exportTo('JSON')不与Laravel合作

时间:2013-11-03 09:23:28

标签: php json orm laravel propel

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

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

Laravel抛出的例外是:

适用于exportTo('JSON')toJSON()所有大写方法

Unknown parser class "PropelArrayParser"

对于toJson()方法:

Unknown parser class "PropelJsonParser"

我认为问题出在Laravel自动装载的地方。我可能错过了一个帮助它找到PropelJsonParser文件的条目。

P.S。我不知道'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}

1 个答案:

答案 0 :(得分: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自动加载机制一起使用很好,但到目前为止我没有以不同的方式解决它