Propel toJson 或 exportTo('JSON') 不与 Laravel 一起工作



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

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

Laravel抛出的异常是:

对于exportTo('JSON')toJSON()所有大写字母方法

Unknown parser class "PropelArrayParser"

对于toJson()方法:

Unknown parser class "PropelJsonParser"

我认为问题出在自动加载拉拉维尔的某个地方。我可能缺少一个可以帮助它找到PropelJsonParser文件的条目。

附言我不知道"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}

我在 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';

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

最新更新