| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace App\Model;
- use App\Traits\HasCustomFields;
- class Item extends DataScopeBaseModel
- {
- protected $table = "item"; //指定表
- const CREATED_AT = 'crt_time';
- const UPDATED_AT = 'upd_time';
- protected $dateFormat = 'U';
- const employee_column = "crt_id";
- public static $field = ['title','id','code','start_time','end_time','mark','crt_id','crt_time','state','budget','charge_id','item_attribute','field'];
- public static $report_field_1 = ['title','id','code','start_time','end_time','mark','budget','field'];
- const TYPE_ONE = 1;
- const TYPE_TWO = 2;
- const TYPE_THREE = 3;
- const State_Type = [
- self::TYPE_ONE => '待开始',
- self::TYPE_TWO => '进行中',
- self::TYPE_THREE => '已完成',
- ];
- const Attr_TYPE_ONE = 1;
- const Attr_TYPE_TWO = 2;
- const Item_Attribute = [
- self::TYPE_ONE => '自主开发',
- self::TYPE_TWO => '合作开发',
- ];
- // 引入自定义字段预加载关系
- use HasCustomFields;
- // 作用域 里面关联了客户自定义的表头数据
- public function scopeWithCustomData($query, $menuId, $user)
- {
- if (empty($menuId)) {
- return $query;
- }
- $top_depart_id = $user['top_depart_id'];
- return $query->with(['customFieldValues' => function ($subQuery) use ($menuId, $top_depart_id) {
- //只查询设置的id 和 自定义字段的值 还有业务单据/档案的id(这个必须要 预加载里没有主外键关联关系就查询失败)
- $subQuery->select(['definition_id', 'field_value', 'model_id'])
- ->where('top_depart_id', $top_depart_id)
- ->whereHas('definition', function ($q) use ($menuId) {
- $q->where('menu_id', $menuId);
- });
- }]);
- }
- }
|