我在我的项目中使用Doctrine作为ORM但遇到了一个奇怪的错误:
使用以下YAML:
Album:
tableName: dpp_album
actAs: [Timestampable]
columns:
name: string(255)
description: string(255)
online: boolean
Run Code Online (Sandbox Code Playgroud)
我然后生成我的模型,但刷新我的页面并自动加载模型后,PHP提供此错误:
致命错误:第13行的E:\ sites\dpp\system\application\models\Album.php中找不到"BaseAlbum"类
奇怪的是,我的所有其他模型都很好,在这些情况下可以找到基类.
将名称"相册"更改为"设置"时,它就可以了!这不奇怪吗?!
所以看起来使用'专辑'有点冲突,虽然错误信息暗示了别的东西.更改为复数相册也不起作用,其他任何东西都没问题!
有什么建议?
谢谢!
我无法从doctrine获取最后一个插入ID的值.我做了一些研究,发现以下内容应该有效:
//save the store now
$store = new Store();
$store->url = $this->form_validation->set_value('website');
$store->save();
$store_id = $store->identifier();
echo print_r($store->identifier());
Run Code Online (Sandbox Code Playgroud)
返回
Array ( [id] => 1000034 )
Run Code Online (Sandbox Code Playgroud)
如何从数组中提取值(1000034)并将其设置在我可以在别处使用的变量中?
我正在尝试安装这个ORM库,
但我发现它需要PEAR安装程序和梨包,它们在哪里使用?
我有这个代码:
$this->lista_miembros = $this->filtro->buildQuery($valores_query);
var_dump($this->lista_miembros);
Run Code Online (Sandbox Code Playgroud)
var_dump输出一个Doctrine_Query对象:
object(Doctrine_Query)[121]
protected'_subqueryAliases'=> array
我试过getSql()......
$q = Doctrine_Query::create()
->select('u.id')
->from('User u')
->whereIn('u.id', array(1, 3, 4, 5));
echo $q->getSql();
Run Code Online (Sandbox Code Playgroud)
..但我没有那个getSql()函数!
那么我怎样才能获得该Doctrine_Query对象的SQL子句?
哈维
为了清楚地分离Controller层和View层,我不再想要将完整的对象传递给我的视图.相反,我想只传递包含数据但没有任何方法的数组和对象.否则,视图脚本将能够删除Doctrine记录或在对象树中遍历不适合视图的数据.
我有一个doctrine更新查询来保存我的数据:
$ customer = Doctrine_Query :: create()
- >更新( '客户')
- > set('fax',"'".$ this-> getRequest() - > getParam('fax')."'")
- > where('id ='.$ this-> getRequest() - > getParam('id'))
- >执行();
问题是,由于这些括号"("和")",字段传真具有括号和doctrine在查询中返回错误.
有人知道解决方案吗?谢谢
我发布了类似的问题,但无法解决.我创建了一个用户和组的关系数据库,但由于某种原因,我无法正确插入测试数据.以下是架构的示例:
User:
actAs: { Timestampable: ~ }
columns:
name: { type: string(255), notnull: true }
email: { type: string(255), notnull: true, unique: true }
nickname: { type: string(255), unique: true }
password: { type: string(300), notnull: true }
image: { type: string(255) }
Group:
actAs: { Timestampable: ~ }
columns:
name: { type: string(500), notnull: true }
image: { type: string(255) }
type: { type: string(255), notnull: true }
created_by_id: { type: integer }
relations:
User: { onDelete: SET NULL, …Run Code Online (Sandbox Code Playgroud) 我想知道如何优化我的Doctrine查询,因为我的一些查询太长了.
我不想特别针对我的查询方法,但是我可以将常用方法应用于所有请求,因为我找不到有关此方法的信息.
对于一个学说模型,我并不总是需要获取所有列.我希望我可以解决这个问题
$query = Doctrine_Query::create()->select('a');
if (!empty($value)){
$query->select('b');
}
$query->execute();
Run Code Online (Sandbox Code Playgroud)
但这不起作用......
有没有人知道如何做到这一点?
我对Symfony和Doctrine来说是全新的.我已经使用Doctrine ORM生成了一个项目,我的数据库模式已经完全生成.现在我只想创建基本服务(在简单的.php页面中),根据HTTP POST请求中的参数执行一些操作.
我尝试通过generate:app命令创建一个应用程序,但它似乎是一个非常丑陋的方式...我只需要一个基本的.php页面,我可以使用我的学说对象并轻松地与我的数据库交互.最简单的方法是什么(我可以用一些基本的require_once来做,或者我需要用symfony生成一些东西,比如模块?)?
谢谢!