gpt4 book ai didi

mysql - 我不明白连接表

转载 作者:行者123 更新时间:2023-11-30 22:08:39 26 4
gpt4 key购买 nike

我使用的是 Cake 版本 2.5.4我有两张 table 。

调用 arbols 包含以下字段:编号(整数 11)名称(varchar(255)特殊:id (int 11)

名为 fotos 的第二个表包含以下字段:

id (int 11)
foto (varchar 255)
foto_dir (varchar 255)
arbol_id (int 11)

虽然Arbol模型与Especie模型相关,我把它留给后者,因为它不是咨询的理由。Arbol 模型与 Foto 模型具有 hasMany 关系。

在 Arbol 模型中,我有以下内容:

public $hasMany = array(
'Foto'=> array(
'className' => 'Foto',
'foreignKey' => 'arbol_id',
'dependent' => true
)
);

In the Foto model I have the following:
public $belongsTo = array(
'Arbol'=> array(
'className'=>'Arbol',
'foreign_key'=>'arbol_id'
)
);

现在,在公共(public)函数 View 中的 ArbolsController 内部($ id = null)我想执行以下 SQL 查询:

SELECT * FROM arboles as a join fotos as f on a.id=f.arbol_id

所以我返回所有与作为参数传递给 View 的特定树的 id 相关的照片如果这个查询是使用 MySQL 完成的

$registros=mysqli_query($conexion," select * from arboles as a join fotos as f on a.id=f.arbol_id")

它有效。但是如果我想以这种方式使用查询方法来做到这一点:

$registros = $this->Arbol->query("select * from arboles as a INNER JOIN fotos as f ON a.id=f.arbol_id");
$registros = $this->Arbol->query("select * from arboles as a INNER JOIN fotos as f ON a.id=f.arbol_id");

没用阅读 Cookbook 我看到有一种方法可以进行连接。 http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

我不懂她

如果你能给我解释一下,我将不胜感激。

从已经非常感谢你!

最佳答案

如果可以避免,则不应直接使用 query 方法。您可以做的是使用标准查找,将您的表与 containable 连接起来。 (或 linkable )。

像这样的东西应该可以工作:

$registros = $this->Arbol->find('all', array(
'contain' => 'Foto'
));

http://book.cakephp.org/2.0/en/models/retrieving-your-data.html

关于mysql - 我不明白连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40866348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com