hasMany(LiveRoomGoods::class, 'live_room_id', 'id'); } public function anchor() { return $this->hasOne(LiveAnchor::class, 'wechat', 'anchor_wechat')->where('is_show', 1)->where('is_del', 0)->bind(['anchor_img' => 'cover_img']); } /** * 直播间id * @param Model $query * @param $value */ public function searchRoomIdAttr($query, $value) { if (is_array($value)) $query->whereIn('room_id', $value); else $query->where('room_id', $value); } /** * @param Model $query * @param $value */ public function searchIsShowAttr($query, $value) { if ($value !== '') $query->where('is_show', $value); } /** * @param Model $query * @param $value */ public function searchIsDelAttr($query, $value) { if ($value !== '') $query->where('is_del', $value); } /** * @param Model $query * @param $value */ public function searchKerwordAttr($query, $value) { if ($value !== '') $query->whereLike('id|room_id|name|anchor_name|anchor_wechat', "%{$value}%"); } /** * 直播状态 * @param Model $query * @param $value */ public function searchLiveStatusAttr($query, $value) { if (is_array($value)) { if ($value) $query->whereIn('live_status', $value); } else { if ($value !== '') $query->where('live_status', $value); } } /** * @param Model $query * @param $value */ public function searchStatusAttr($query, $value) { if ($value !== '') { switch ($value) { case 1: $query->whereIn('live_status', [101, 105, 106]); break; case 2: $query->whereIn('live_status', [102]); break; case 3: $query->whereIn('live_status', [103, 104, 107]); break; } } } }