1、两张表 think_usercour 字段(user_id,course_id) think_course(course_id,course_name)
2、现usercour中有user_id为001的多条记录,假设$current_id='001',目的通过column('course_id')来找出对应的每条在course表中的完整记录。
3、自己的做法是取出course表中所有的记录,如出现在$db:name('usercour')->where('user_id',$current_id)->column('course_id')即为成功。
4、觉得效率很低,方法不太好。又换join写,没有成功,请大神指导一下呢
源码:
`
// 取出当前学生信息
$stu = $this->user->where('id',$id)->find();
if(!$stu) {
return $thid->error('非法操作!',url('Admin/Course/index'));
}
// 通过当前$stuid从表中查询所有包含的记录column(course_id)
$course_id = $this->usercour->where('user_id',$id)->column('course_id');
// 取出UserCourse中所有的记录
$courses_list = $this->courses->select();
$this->assign('stu',$stu);
$this->assign('course_id',$course_id);
$this->assign('courses_list',$courses_list);
return $this->fetch();
{notempty name='courses_list'}
{foreach $courses_list as $courses_list_item}
{if condition="in_array($courses_list_item['course_id'],$course_id)"}
<tr>
<td>{$courses_list_item['course_id']}</td>
<td>{$courses_list_item['course_name']}</td>
</tr>
{/if}
{/foreach}
{/notempty}
`
with方法
https://www.kancloud.cn/manua...
tp中模型关联已经做的很不错了,和phalcon关联差不多。