You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zhishifufei_php/application/wap/model/topic/TestPaperQuestions.php

52 lines
2.1 KiB

9 months ago
<?php
// +----------------------------------------------------------------------
// | 天诚科技 [ 刘海东 17600099397赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2020 https://www.tczxkj.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 该系统并不是自由软件,未经许可不能去掉相关版权
// +----------------------------------------------------------------------
// | Author:甘肃天诚志信电子商务有限公司 刘海东 联系电话维系17600099397
// +----------------------------------------------------------------------
namespace app\wap\model\topic;
use traits\ModelTrait;
use basic\ModelBasic;
use service\UtilService as Util;
use app\wap\model\topic\Questions;
use app\wap\model\topic\ExaminationRecord;
use app\wap\model\topic\ExaminationTestRecord;
/**
* 试卷试题 Model
* Class TestPaperQuestions
*/
class TestPaperQuestions extends ModelBasic
{
use ModelTrait;
/**获取试卷中的试题
* @param $test_id
* @param $type
* @return array|false|\PDOStatement|string|\think\Collection
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
public static function getQuestionslist($test_id, $type, $question_type = 0)
{
7 months ago
(array)$test_ids = self::where(['test_id' => $test_id, 'type' => $type,])->where('pid', '>', 0)->column('pid');
9 months ago
$model = self::alias('p')->join('Questions q', 'p.questions_id=q.id')
7 months ago
->where(['p.type' => $type, 'q.is_del' => 0])
->whereIn('test_id', array_merge($test_ids,[$test_id]));
9 months ago
if ($question_type) {
$model = $model->where('p.question_type', $question_type);
}
$list = $model->field('p.*,q.option,q.stem,q.image,q.answer,q.difficulty,q.analysis,q.relation,q.is_img,q.is_del')
->order('p.sort desc')->select();
7 months ago
return count($list) > 0 ? $list->toArray() : [];
9 months ago
}
}