codeigniterでこの問題が発生しました:データベースからナビゲーションツリーシステムを作成しようとしています。
モデル:
function getServices()
{
$this->db->select('service_url, service_title, category_title');
$this->db->join('services_category', 'services_category.id=services.category_id');
$this->db->group_by('category_title');
$this->db->order_by('service_title', 'ASC');
$query = $this->db->get('services');
if($query->result() == TRUE)
{
foreach($query->result_array() as $row)
{
$result[] = $row;
}
return $result;
}
}
見る:
<?php if(isset($services) && $services) : foreach($services as $s) : ?>
<ul>
<li><a href="#"><?php echo $s['category_title'] ?></a>
<ul>
<li><?php echo anchor('services/' . $s['service_url'], $s['service_title']); ?></li>
</ul>
</li>
</ul>
<?php endforeach; ?>
<?php endif; ?>
これまでのところ良好な結果として、各カテゴリが想定どおりに返されますが、サービスはカテゴリごとに1つのサービスのみを返し、一部のカテゴリでは15のサービスが返されます。誰かが私に手を差し伸べてくれたり、何が悪いのか説明してくれませんか?どうもありがとう。
「私はphpやcodeigniterの専門家ではありません。少し前に始めたばかりなので、初心者を撮影しないでください。」
注:group_byとorder_byを使用せずに試し、すべてのサービスを返していますが、カテゴリが繰り返されています、
元:
category-a
service1
category-a
service2
category-b
service10
category-b
service11
category-c
service30
category-c
service31
....