CakePHP 1.3存在($id)函数示例/如何

CakePHP 1.3存在($id)函数示例/如何,cakephp,associations,exists,Cakephp,Associations,Exists,cakephp1.3是否有exists($id)函数来查看表中是否存在记录?我有一个从另一台服务器同步的数据库。我的数据库有两个表,一个是同步表,另一个是我为在同步表上展开而放入的表。我的应用程序现在列出了主(同步)表中的所有项目,当他们单击该项目时,它会将他们带到一个视图,以添加与第二个表不同的信息。它将ID传递给第二个表 我要做的是首先检查第二个表,查看是否存在具有相应外键的记录,如果存在,然后移动到第二个表中该记录的编辑屏幕,如果不存在,我要确保该记录存在于第一个表中,如果存在,将一条记录

cakephp1.3是否有exists($id)函数来查看表中是否存在记录?我有一个从另一台服务器同步的数据库。我的数据库有两个表,一个是同步表,另一个是我为在同步表上展开而放入的表。我的应用程序现在列出了主(同步)表中的所有项目,当他们单击该项目时,它会将他们带到一个视图,以添加与第二个表不同的信息。它将ID传递给第二个表

我要做的是首先检查第二个表,查看是否存在具有相应外键的记录,如果存在,然后移动到第二个表中该记录的编辑屏幕,如果不存在,我要确保该记录存在于第一个表中,如果存在,将一条记录添加到第二个表中,并将给定的$id作为外键

现在考虑一下,它将正确的id传递给第二个表,我只是不希望用户能够键入一个数字并假设它存在于主表中,然后向第二个表中添加一条记录,而第二个表实际上并不存在。如果没有功能来检查,我可以使用关联来检查吗?比如:

if (!$this->Table2->Table1->id) {
    //if id does not exist in parent table don't create the record in the second table and print an error
} else {
    //id does exist in parent table either add a new record with the foreign key being the id passed from parent or redirect to edit screen for that record in second table
}
使用Model::exists()函数:

$model->id=5;
如果($model->exists()){
//找到ID为5的记录
}否则{
//未找到记录
}
您还可以尝试同时加载和执行这两项操作(如果存在,请检查并加载)

$model->id=5;
如果($model->read()){
//记录存在,并且您在$model->data中拥有该数据
}否则{
//未找到记录
}
如果我理解得好(我的英语不太好),在你的情况下,你可以:

if(!$this->Table2->Table1->id | |!$this->Table2->Table1->exists()){
//表1->id为空或未找到记录
}否则{
//表1->id有id且记录存在
}
使用Model::exists()函数:

$model->id=5;
如果($model->exists()){
//找到ID为5的记录
}否则{
//未找到记录
}
您还可以尝试同时加载和执行这两项操作(如果存在,请检查并加载)

$model->id=5;
如果($model->read()){
//记录存在,并且您在$model->data中拥有该数据
}否则{
//未找到记录
}
如果我理解得好(我的英语不太好),在你的情况下,你可以:

if(!$this->Table2->Table1->id | |!$this->Table2->Table1->exists()){
//表1->id为空或未找到记录
}否则{
//表1->id有id且记录存在
}

谢谢!我看到cake 2.0有这个,只是不确定1.3是否有。快速提问,$model是我模型的名称,还是应该是$model?比如,它实际上是$model->id=$id,还是应该是$table2->id=5;?它类似于$this->Post->id=5,其中Post是您模型的名称。正如jimiyash所说,Post必须是您模型的名称。从字面上看,不是$model。代码在CakePHP1.3和2.x中运行谢谢!我看到cake 2.0有这个,只是不确定1.3是否有。快速提问,$model是我模型的名称,还是应该是$model?比如,它实际上是$model->id=$id,还是应该是$table2->id=5;?它类似于$this->Post->id=5,其中Post是您模型的名称。正如jimiyash所说,Post必须是您模型的名称。从字面上看,不是$model。代码在CakePHP1.3和2.x中工作