public function
detail_jump(Request
$request
)
{
$name
=
$request
->param(
'name'
);
$video_id
=
$request
->param(
'id'
);
$sql
=
"(select *,(case when picture_type = 'remote' then picture_url when picture_type = 'local' then picture_path else 'ww' end) pic_addr from tv_picture)"
;
$sql
=
"SELECT v.
*
,p1.pic_addr as p1_pic,p2.pic_addr as p2_pic FROM tv_video AS v JOIN
{
$sql
}
AS p1 ON v.picture_id = p1.picture_id JOIN tv_cate AS c ON c.`cate_id` = v.`cate_plat_id` JOIN
{
$sql
}
AS p2 ON p2.`picture_id`
= c.`picture_id` WHERE video_id =
{
$video_id
}
"
;
$video_res
= Db::
query
(
$sql
);
j(
$video_res
);
}
用TP查询器也可以写在field里面当做一个字段查询,示例如下
$sql = Db::view('video') ->view('picture',['picture_id' => 'pid','picture_url','picture_path'],'picture.picture_id = video.picture_id') ->view('vod',['vod_id' => 'vid','actor_ids'],'vod.vod_id = video.vod_id') ->where('video.vod_id','in',$hot_id) ->field("(case when picture_type = 'remote' then picture_url when picture_type = 'local' then picture_path else 'asd' end) picaddr") ->order('video_subname desc') ->buildSql(); $sql = "select * from {$sql} as v group by v.vod_id order by v.video_subname desc"; $hot_res = Db::query($sql); j($hot_res);