使用Codeigniter和Datamapper:我有2个表:标记和客户。客户端可以有很多标签,标签可以有很多客户端。我使用单独的连接表来保存关系。
我有一个用于管理单个标记的页面,我在每个客户端进行迭代,并想检查每个标记是否与此标记相关。
下面代码中的????
确定是否选中了复选框,如果客户端有标记,则TRUE
如果没有,则为FALSE
。
<h2>Manage Tag: <?php echo $tag->name; ?></h2>
<?php foreach ($clients as $client): ?>
<label>
<?php echo form_checkbox('client_id[]', $client->id, ????); ?>
<?php echo $client->name; ?>
</label>
<?php endforeach; ?>
如何使用Datamapper检查此循环中$client
与$tag
是否相关?
答案 0 :(得分:2)
怎么样
$client->is_related_to($tag)
或
$client->is_related_to('tag', $tag->id)
请参阅http://datamapper.wanwizard.eu/pages/count.html#is_related_to
请注意,这会触发其他count()查询,您可能最好提取$ tag-&gt;客户端,然后检查您的循环
isset($tag->clients->all[$client->id])