// +---------------------------------------------------------------------- namespace App\Models; /** * 会员-模型 * @author laravel开发员 * @since 2020/11/11 * Class MemberModel * @package App\Models */ class MemberModel extends BaseModel { // 设置数据表 protected $table = 'member'; protected $guarded = ['id']; // 除了 id 之外,其余字段都允许批量更新 /** * 仓库 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function stock() { return $this->belongsTo(StockModel::class, 'stock_id', 'stock_id') ->where(['mark' => 1]) ->select(['stock_id', 'stock_name', 'status']); } /** * 线路 * @return \Illuminate\Database\Eloquent\Relations\BelongsTo */ public function line() { return $this->belongsTo(LineModel::class, 'line_id', 'line_id') ->where(['mark' => 1]) ->select(['line_id', 'line_name', 'status']); } /** * 推荐人 */ public function parent() { return $this->hasOne(MemberModel::class, 'id', 'parent_id') ->where(['status' => 1, 'mark' => 1]) ->select(['id', 'nickname', 'username', 'mobile', 'status']); } /** * 订单 * @return \Illuminate\Database\Eloquent\Relations\HasMany */ public function order1() { return $this->hasMany(OrderModel::class, 'user_id', 'id') ->where(['mark' => 1])->where('status', '>=', 1); } /** * 待捡货订单 * @return \Illuminate\Database\Eloquent\Relations\hasMany */ public function order2() { return $this->hasMany(OrderModel::class, 'user_id', 'id') ->where(['mark' => 1])->where('status', 2); } /** * 获取会员信息 * @param int $id 会员ID * @return array|string * @author laravel开发员 * @since 2020/11/11 */ public function getInfo($id) { $info = parent::getInfo($id); // TODO: Change the autogenerated stub if ($info) { // 头像 if ($info['avatar']) { $info['avatar'] = get_image_url($info['avatar']); } } return $info; } }