当前位置: 首页 > 面试题库 >

Cakephp如何基于另一个表创建虚拟字段

穆季萌
2023-03-14
问题内容

我有2个表:projects,project_types。

The relations are as follow:
    Project => belong to => ProjectType    
    ProjectType => hasMany   => Project

The columns are as follow
    Project => id, project_type_id, name, description  
    ProjectType => id, name

如何基于project_type_id创建一个名为projectTypeName的虚拟字段,其名称来自projectType,对于那些project_type_id
= 0的字段,它将为“”

我有这个

public $virtualFields = array(
    'projectTypeName' => "IF(Project.project_type_id = 9, 'sales', '')"     
);

它正确显示为“ sales”,但我不想一一指定。

谢谢


问题答案:

这对我有用

public $virtualFields = array(
 'projectTypeName' => 'SELECT name FROM project_types where id = Project.project_type_id'
);


 类似资料:
  • Spring boot maven插件正在使用paketo builder构建图像。 我想做的是在这个构建器正在做的事情上添加另一个步骤。我已经创建了自己的构建包,并试图创建包含基本构建包的构建器。 我遇到的第一个问题是,当试图从builder.toml创建一个构建器时,会出现这样的错误: 另一个问题是,即使这样做有效,我想我仍然必须指定来自paketo:base的所有order.group。 是

  • 行动时刻 - 为计算机科学系创建一个虚拟服务器 Isaac发现,计算机科学系的教师通过默认设置来实现安全。 其RADIUS服务器使用端口2812进行身份验证,使用2813进行记帐。 它有一个用户文件,其中包含用户的entre详细信息。 RADIUS客户端仅向RADIUS服务器发送身份验证请求。 下表列出了重要信息: Informaton item Detail User store users f

  • 创建一台 Linux 系统的虚拟机,Linux 系统的类型选择的是 CentOS 7.x 。 创建项目 每个项目都在各自的文件夹里,你可以为每个项目单独去创建虚拟机。打开命令行工具,先为项目创建一个文件夹: cd ~/desktop mkdir awesome-project cd awesome-project 上面执行的命令就是在命令行下面,先进入到当前登录用户的桌面(desktop)上,在

  • 我试图建立一个专栏,将根据另一个。新列应反映满足某些标准的值,并在值不符合标准的地方放置0。 例如,名为银行余额的列将有负值和正值;新列透支将为相应行提供负值,余额大于0时为0。 最终结果应该是这样的。

  • 我想从另一个对象创建一个< code>ExampleInterface对象,但只保留< code>ExampleInterface包含的那些属性。 是否可以不手动复制每个密钥? 然后呢 提前谢谢你。

  • 行动时刻 - 创建两个虚拟服务器 在本练习中,我们将创建两个非常简单的虚拟服务器。 一个将接受所有身份验证请求,而另一个将拒绝所有身份验证请求。 在FreeRADIUS配置目录内的sites-available目录下,使用以下内容创建名为always_accept的文件: server always_accept { authorize { update control {