90 lines
2.5 KiB
PHP
90 lines
2.5 KiB
PHP
<?php
|
|
|
|
|
|
namespace Yunshop\Article\models;
|
|
|
|
|
|
use app\common\models\BaseModel;
|
|
use app\common\models\Member;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class Manager extends BaseModel
|
|
{
|
|
//切记关联时候别把密码关联出去!
|
|
|
|
public $table = "yz_plugin_article_manager";
|
|
|
|
protected $guarded = [''];
|
|
|
|
use SoftDeletes;
|
|
|
|
public static function getList($search)
|
|
{
|
|
$merModel = self::uniacid();
|
|
|
|
if (!empty($search['member'])) {
|
|
$merModel->join('mc_members', 'mc_members.uid', 'yz_plugin_article_manager.member_id')
|
|
->select(['yz_plugin_article_manager.*'])
|
|
->where(function ($q) use ($search){
|
|
$q->where('mc_members.uid', $search['member'])
|
|
->orWhere('mc_members.nickname', 'like', "%{$search['member']}%")
|
|
->orWhere('mc_members.realname', 'like', "%{$search['member']}%")
|
|
->orWhere('mc_members.mobile', 'like', "%{$search['member']}%");
|
|
});
|
|
}
|
|
|
|
if (!empty($search['username'])) {
|
|
$merModel->where('yz_plugin_article_manager.username', $search['username']);
|
|
}
|
|
|
|
$merModel->with(['member' => function ($query) {
|
|
$query->select('uid', 'nickname','realname', 'avatar', 'mobile');
|
|
}]);
|
|
|
|
$merModel->orderBy('yz_plugin_article_manager.created_at', 'desc');
|
|
|
|
return $merModel;
|
|
}
|
|
|
|
public function member()
|
|
{
|
|
return $this->belongsTo(Member::class, 'member_id', 'uid');
|
|
}
|
|
|
|
/**
|
|
* 定义字段名
|
|
*
|
|
* @return array
|
|
*/
|
|
public function atributeNames()
|
|
{
|
|
return [
|
|
'nickname' => '昵称',
|
|
'username' => '用户名',
|
|
'member_id' => '角色',
|
|
'password' => '密码',
|
|
'status' => '状态',
|
|
];
|
|
}
|
|
|
|
/**
|
|
* 字段规则
|
|
*
|
|
* @return array
|
|
*/
|
|
public function rules()
|
|
{
|
|
return [
|
|
'nickname' => ['required',
|
|
Rule::unique($this->table)->where('uniacid', \YunShop::app()->uniacid)->ignore($this->id)],
|
|
'username' => ['required',
|
|
Rule::unique($this->table)->where('uniacid', \YunShop::app()->uniacid)->ignore($this->id)],
|
|
'member_id' => ['required',
|
|
Rule::unique($this->table)->ignore($this->id)
|
|
],
|
|
'password' => 'required',
|
|
'status' => 'required'
|
|
];
|
|
}
|
|
} |