hasOne(WorkMember::class, 'userid', 'user_id')->field(['userid', 'name'])->bind(['name' => 'name']); } /** * @param $query * @param $value */ public function searchMomentIdAttr($query, $value) { $query->where('moment_id', $value); } /** * @param $query * @param $value */ public function searchUserIdAttr($query, $value) { if (!empty($value)) { if (is_array($value)) { $query->whereIn('user_id', $value); } else { $query->where('user_id', $value); } } } public function searchStatusAttr($query, $value) { if ('' !== $value) { $query->where('status', $value); } } /** * @param $value * @return false|string */ public function setExternalUseridAttr($value) { return is_array($value) ? json_encode($value, true) : $value; } /** * @param $value * @return array|mixed */ public function getExternalUseridAttr($value) { return $value ? json_decode($value, true) : []; } }