Appearance
Model
$hidden 只会影响 toArray() 或 toJson() 生成的数据 解决方案:改用 $user->toArray() 或 return response()->json($user); $visible 的优先级高于 $hidden
php
# userModel
class UserModel{
public function group(){
return $this->hasOne('App\Models\AdminGroupModel', 'id', 'group_id')
->select('id','text as group_name','pay_password' -》 ### group的attribute依赖 #### );
}
}
#groupModel
class Group{
public function getIsSetPayPasswordAttribute(){
return empty($this->attributes['pay_password']) ? 0 : 1;
}
}protected $casts = [ 'created_at' => 'datetime:Y-m-d H:i:s', 'updated_at' => 'datetime:Y-m-d H:i:s', ];
记录数组ids
protected function userIds(): Attribute
{
return new Attribute(
get: fn($value) => $value ? array_filter(explode(',', $value)) : [],
set: fn($value) => implode(',', $value),
);
}数据库 表userIds: 100,200,300
class Payroll extends Model
{
use Filterable, DateTimeFormatable, Logable, Flowable, Searchable, CbsPaymentTrait;
}
# 调用Payroll::filter($request->all())
filter是Filter + able的方法