gpt4 book ai didi

php - 如何多次加入同一个表以检索不同的结果

转载 作者:行者123 更新时间:2023-11-29 00:23:24 24 4
gpt4 key购买 nike

我需要同时请求记录,但不知道如何将它们彼此分开以免合并。

有一个 categories 表,其中 CID 列代表组件 ID 以分隔类别:

id  cid     title
1 1 News
2 1 Events

3 2 Users
4 2 Administrators

5 3 Guests
6 3 Registered

这是一个组件表:

id  title
1 Content
2 Members
3 Access level

我需要从数据库中检索结果,以便在我的 content_list_view.php 中打印这些变量:

<?php foreach($results as $item):?>
ID: <?php echo $item->id;?> <br/>
Title: <?php echo $item->title;?> <br/>
Category: <?php echo $item->category;?> <br/>
Access: <?php echo $item->access;?> <br/>
<?php endforeach;?>

使用 CodeIgniter 的 ActiveRecords,我在 content_model.php 中进行查询:

public function get_content_list(){

$this->db
->select('
content.id,
content.title,
categories.title AS category,
categories.title AS access
')
->join('categories', 'content.catid = categories.id')
->join('categories AS alvl', 'content.alvl = alvl.id');

$query = $this->db->get($this->_table_name);

if($query->num_rows() > 0)
return $query->result();
else
return FALSE;

}

毕竟这就是我的观点,CategoryAccess 是一样的。访问应该是注册 :

ID: 1
Title: Some article test news
Category: News
Access: News

JOINING 表时如何分隔记录有什么建议吗?

最佳答案

问题出在选择中,因为您没有分配 alvl 并且它总是从 categories 中获取尝试改变这个:

$this->db
->select('
content.id,
content.title,
categories.title AS category,
categories.title AS access
')
->join('categories', 'content.catid = categories.id')
->join('categories AS alvl', 'content.alvl = alvl.id');

为此:

$this->db
->select('
content.id,
content.title,
categories.title AS category,
alvl.title AS access
')
->join('categories', 'content.catid = categories.id')
->join('categories AS alvl', 'content.alvl = alvl.id');

关于php - 如何多次加入同一个表以检索不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20175863/

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