90 lines
2.6 KiB
PHP
90 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace app\common\repository;
|
|
|
|
use think\Db;
|
|
use app\common\newmodel\SkitsLibraryModel;
|
|
|
|
class SkitsLibraryReposotpry extends SkitsLibraryModel
|
|
{
|
|
/**
|
|
* 根据逗号查询数据 function
|
|
*
|
|
* @author dotdotdot <6383846@qq.com>
|
|
* @date 2022-08-15
|
|
* @param array $fields
|
|
* @param integer $top
|
|
* @param integer $limit
|
|
* @return array
|
|
*/
|
|
public function selectFindInTop(array $fields, int $top, int $limit): array
|
|
{
|
|
return SkitsLibraryModel::field($fields)->where(['' => ['exp', sprintf('find_in_set(%d,top)', $top)], 'status' => 1])->order('sort', 'desc')->limit($limit)->select()->toArray();
|
|
}
|
|
|
|
/**
|
|
* 查询随机数据 function
|
|
*
|
|
* @author dotdotdot <6383846@qq.com>
|
|
* @date 2022-08-10
|
|
* @param array $fields
|
|
* @param array $order
|
|
* @param integer $limit
|
|
* @return array
|
|
*/
|
|
public function selectByRand(array $fields, array $order, int $limit = 6): array
|
|
{
|
|
return SkitsLibraryModel::field($fields)->where(['status' => 1])->order($order)->limit($limit)->select()->toArray();
|
|
}
|
|
|
|
/**
|
|
* 查询搜索信息 function
|
|
*
|
|
* @author dotdotdot <6383846@qq.com>
|
|
* @date 2022-08-10
|
|
* @param string $keyWords
|
|
* @param integer $page
|
|
* @param integer $limit
|
|
* @return array
|
|
*/
|
|
public function selectSearch(string $keyWords, int $page, int $limit): array
|
|
{
|
|
return Db::view('Skits_library', 'id,name,cover')
|
|
->view('Skits_video', ['max(Skits_video.order)' => 'order'], 'Skits_library.id=Skits_video.sid and Skits_library.status=Skits_video.status')
|
|
->where(['Skits_library.name' => ['like', '%' . $keyWords . '%']])
|
|
->group('Skits_video.sid')
|
|
->limit($page, $limit)
|
|
->select();
|
|
}
|
|
|
|
/**
|
|
* 查询部分Id function
|
|
*
|
|
* @author dotdotdot <6383846@qq.com>
|
|
* @date 2022-08-17
|
|
* @param array $fields
|
|
* @param array $id
|
|
* @return array
|
|
*/
|
|
public function selectInId(array $fields, array $id): array
|
|
{
|
|
return SkitsLibraryReposotpry::field($fields)->whereIn('id', $id)->select()->toArray();
|
|
}
|
|
|
|
/**
|
|
* 根据ID查询 function
|
|
*
|
|
* @author dotdotdot <6383846@qq.com>
|
|
* @date 2022-08-15
|
|
* @param array $fields
|
|
* @param integer $id
|
|
* @return array
|
|
*/
|
|
public function selectById(array $fields, int $id): array
|
|
{
|
|
$object = SkitsLibraryModel::field($fields)->where(['id' => $id, 'status' => 1])->find();
|
|
|
|
return empty($object) ? [] : $object->toArray();
|
|
}
|
|
}
|