HaniBlindBox/server/php/app/common/model/SignConfigReward.php
2026-01-01 20:46:07 +08:00

63 lines
1.7 KiB
PHP

<?php
namespace app\common\model;
use app\common\model\Base;
use think\Model;
class SignConfigReward extends Base
{
// 设置当前模型对应的完整数据表名称
protected $table = 'sign_config_reward';
/**
* 获取列表
*/
public static function getList($where = [], $field = '*', $order = '', $pageSize = "15")
{
$list = self::where($where)
->field($field)
->order($order)
->paginate(['list_rows' => $pageSize, 'query' => request()->param()]);
$page = $list->render();
$data['list'] = $list->toArray()['data'];
$data['count'] = $list->total();
$data['last_page'] = $list->toArray()['last_page'];
$data['page'] = $page;
return $data;
}
/**
* 获取所有配置关联的奖励ID
* @param int $configId 配置ID
* @return array 奖励ID数组
*/
public static function getRewardIds($configId)
{
return self::where('sign_config_id', $configId)
->column('reward_id');
}
/**
* 批量添加配置奖励关联
* @param int $configId 配置ID
* @param array $rewardIds 奖励ID数组
* @return bool 是否成功
*/
public static function addBatch($configId, $rewardIds)
{
// 先删除原有关联
self::where('sign_config_id', $configId)->delete();
// 批量添加新关联
$data = [];
foreach ($rewardIds as $rewardId) {
$data[] = [
'sign_config_id' => $configId,
'reward_id' => $rewardId,
'create_time' => time()
];
}
return self::insertAll($data);
}
}