【问题标题】:Propel toJson or exportTo('JSON') not working with LaravelPropel toJson 或 exportTo('JSON') 不适用于 Laravel
【发布时间】:2013-11-03 09:23:27
【问题描述】:

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 文件的条目。

附:我不知道“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}

【问题讨论】:

    标签: php json orm laravel propel


    【解决方案1】:

    我在 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 自动加载机制一起玩得很好,但到目前为止我并没有以不同的方式解决它

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2017-01-08
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多