PaperModel.php 964 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace addons\exam\model;
  3. use think\Db;
  4. class PaperModel extends \app\admin\model\exam\PaperModel
  5. {
  6. // 追加属性
  7. protected $type
  8. = [
  9. 'configs' => 'array'
  10. ];
  11. // public function getConfigsAttr($value, $data)
  12. // {
  13. // $value = $value ? $value : (isset($data['configs']) ? $data['configs'] : '');
  14. // return $value ? json_decode($value, true) : [];
  15. // }
  16. /**
  17. * 获取试卷参与人员
  18. * @param $paper_id
  19. * @param $slice
  20. * @return array
  21. */
  22. public static function getJoinUsers($paper_id, $slice = 0)
  23. {
  24. $user_ids = Db::name('exam_grade')->where('paper_id', $paper_id)->group('user_id')->column('user_id');
  25. if ($user_ids) {
  26. // 截取数组
  27. $user_ids = $slice ? array_slice($user_ids, $slice) : $user_ids;
  28. return Db::name('user')->whereIn('id', $user_ids)->select();
  29. }
  30. return [];
  31. }
  32. }