本文整理匯總了PHP中core\Model::find方法的典型用法代碼示例。如果您正苦於以下問題:PHP Model::find方法的具體用法?PHP Model::find怎麽用?PHP Model::find使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類core\Model
的用法示例。
在下文中一共展示了Model::find方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: check
/**
* 檢查簽到任務
*
* @param array $task
* @param int $uid
*
* @return mixed
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
/**
* 簽到任務是否以前簽過到了
*/
$model = new Model();
$check_sign = $model->find('select * from video_user_check_sign where uid=:uid', array('uid' => $uid));
if (!$check_sign) {
return 'can_apply';
}
if ($task['relatedid']) {
$isDo = $model->find('select * from video_task_user where relatedid=? and uid=?', array($task['relatedid'], $user['uid']));
// 當沒有申請或者沒有完成父任務時
if (!$isDo || $isDo['status'] != 1) {
return 'can_apply';
}
}
/**
* 計算差值
*/
$s = date('Ymd', time()) - date('Ymd', strtotime($check_sign['last_time']));
if ($s == 0) {
return 'all';
}
if ($s >= 1) {
return 'can_apply';
}
}
示例2: check
/**
* 檢查首次預約的任務
*
* @param $task
* @param $uid
*
* @return mixed
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
$model = new Model();
$userTask = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
$user = $model->find('select * from video_user where uid=' . $uid);
if ($task['pre_vtask_id']) {
$isDo = $model->find('select * from video_task_user where vtask_id=? and uid=?', array($task['pre_vtask_id'], $user['uid']));
// 當沒有申請或者沒有完成父任務時
if (!$isDo || $isDo['status'] != 1) {
return 'can_apply';
}
}
/**
* 如果沒有接任務的話,就判斷是否可以自動申請任務
*/
if (!$userTask) {
/**
* 隻要用戶滿足做這個任務的條件就要插入一條數據 等待預約的驗證
*/
$c = serialize(array('csc' => 0, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 0, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 增加一個申請人數
$this->updateTaskApplicants($task);
return 'doing';
}
$ut = $userTask;
$csc = unserialize($ut['csc']);
if ($ut['status'] == 1) {
return 'all';
}
if ($ut['status'] == -1) {
return 'failed';
}
if ($ut['status'] == 0 && $csc['csc'] == 100) {
return 'success';
}
/**
* 當沒有完成的時候要檢查進度
*/
if ($ut['status'] == 0 && $csc['csc'] != 100) {
/**
* 檢查是否完成了預約,是就更新狀態
* 要求在申請任務之後 預約的才算
*/
$invite = $model->find('select * from video_room_duration where invitetime>? and reuid=?', array($ut['apply_date'], $uid));
if ($invite) {
$data = array();
$csc['csc'] = 100;
$csc['update_time'] = time();
$data['csc'] = serialize($csc);
$model->flush('video_task_user', $data, array('auto_id' => $ut['auto_id']));
return 'success';
}
return 'doing';
}
}
示例3: checkTask
/**
* 檢測用戶任務對應的狀態的問題
* @param $task array 某條任務
* @param $uid int 某個用戶
*
* @return mixed
* <p>
* 返回 FALSE 則表示任務失敗
* 返回 TRUE 則表示任務用戶可以做
* 返回 array進度的數組 則根據情況更新
* </p>
*/
public function checkTask($task, $uid)
{
$this->task = $task;
$this->user = $uid;
/**
* 當為period 為 0 一次性的任務的時候 判斷是否已經完成
* 後麵各種任務腳本中就不用再判斷此任務了
*/
if ($task['period'] == 0) {
$model = new Model();
$taskUser = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
// 當task_user 的status 為 1的時候就表示完成且領獎了
if ($taskUser && $taskUser['status'] == 1) {
return 'all';
}
}
/**
* 進行檢查和更新各個任務的狀態 調用各任務腳本
*/
$script = $task['script_name'];
$className = 'App\\Service\\Task\\TaskScript\\' . ucfirst($this->script[$script]);
// 暫時做了doctrine($this->em)的手動注入 未走service
$class = new $className();
return $class->check($task, $uid);
}
示例4: present
/**
* 添加用戶的禮物到背包中
*
* @param $gifts
* @param $uid
*/
public function present($gifts, $uid)
{
$model = new Model();
$flag = false;
foreach ($gifts as $gift) {
$has_gif = $model->find('select * from video_pack where uid=? and gid=?', array($uid, $gift['id']));
if ($has_gif) {
if (!empty($gift['exp'])) {
$expires = $has_gif['expires'] + $gift['exp'] * 24 * 3600;
$model->flush('video_pack', array('expires' => $expires), array('uid' => $uid, 'gid' => $gift['id']));
}
$flag = true;
} else {
$exp = time() + $gift['exp'] * 24 * 3600;
$result = $model->add('video_pack', array('uid' => $uid, 'gid' => $gift['id'], 'num' => $gift['num'], 'expires' => $exp));
if ($result !== false) {
$flag = true;
} else {
$flag = false;
}
}
}
return $flag;
}
示例5: updateRecharge
/**
* 記錄送鑽石的日誌
* @param $uid int 用id
* @param $points int 要增加的錢
*/
protected function updateRecharge($uid, $points)
{
$model = new Model();
$user = $model->find('select * from video_user where uid=' . $uid);
$arr = array('uid' => $uid, 'created' => date('Y-m-d H:i:s'), 'points' => $points, 'order_id' => time(), 'pay_type' => 5, 'pay_id' => null, 'nickname' => $user['nickname']);
$model = new Model();
$model->add('video_recharge', $arr);
}
示例6: billTask
/**
* 結算用的任務 領取獎勵
*
* @param $task_id
* @return mixed
*/
public function billTask($task_id)
{
/**
* 獲取任務詳情
*/
$model = new Model();
$task = $model->find('select * from video_task where vtask_id=? and status=? and dml_flag !=3', array($task_id, '0'));
if (!$task) {
return false;
}
// 格式化禮物
if (!empty($task['bonus'])) {
$task['bonus'] = $this->formatGift($task['bonus']);
} else {
$task['bonus'] = '';
}
/**
* 判斷是否有特殊的擴展變量
*/
$var = $model->findAll('select * from video_task_conf where vtask_id=?', array($task_id));
if ($var) {
foreach ($var as $value) {
if ($value['variable'] == 'points') {
$value['value'] = unserialize($value['value']);
}
$task[$value['variable']] = $value;
}
}
$check_task = new CheckUserTask();
// 去檢查每一個任務用戶對應的狀態
$result = $check_task->checkTask($task, $this->uid);
if ($result == 'success') {
$flag = $check_task->doBillGift($task, $this->uid);
} else {
$flag = false;
}
return $flag;
}
示例7: check
/**
* 檢測郵箱任務的完成程度
*
* 郵箱如果驗證了,就標示郵箱任務已經完成
* 如果在任務上線係統之前驗證過的,就不用了
* 如果還沒驗證,就啟動任務,並送禮
* @param $task
* @param $uid
*
* @return mixed
*
*/
public function check($task, $uid)
{
$this->task = $task;
$this->uid = $uid;
/**
* 獲取用戶對應的task_user的數據
* 如果已經驗證了,但是又沒有為這個用戶插入這個任務的話
* 即在 任務係統上線前 就已經認證的用戶 此時要插入一條完成了任務的數據
*/
$model = new Model();
$userTask = $model->find('select * from video_task_user where vtask_id=' . $task['vtask_id'] . ' and uid=' . $uid);
$user = $model->find('select * from video_user where uid=' . $uid);
if ($user['safemail'] && !$userTask) {
$c = serialize(array('csc' => 100, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 1, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 當完成後的加上1個完成用戶
$this->updateTaskAchievers($task);
return 'all';
}
/**
* 既沒驗證 又沒申請任務的
* 做自動申請操作 等待郵箱的安全驗證
* 就返回false
*
*/
if (!$user['safemail'] && !$userTask) {
$c = serialize(array('csc' => 0, 'update_time' => time()));
$data = array('uid' => $uid, 'vtask_id' => $task['vtask_id'], 'status' => 0, 'csc' => $c, 'apply_date' => time(), 'init_time' => date('Y-m-d H:i:s'), 'dml_flag' => 1);
$model->add('video_task_user', $data);
// 增加一個申請人數
$this->updateTaskApplicants($task);
return 'doing';
}
/**
* 完成且領取獎勵
*/
if ($userTask['status'] == 1) {
return 'all';
}
/**
* 失敗的
*/
if ($userTask['status'] == -1) {
return 'failed';
}
/**
* 完成了,且等待領取獎勵
*/
$csc = unserialize($userTask['csc']);
if ($csc['csc'] == 100 && $userTask['status'] == 0) {
return 'success';
}
/**
* 當進度不是滿的,此時要檢查下完成情況
* 進行更新與否的判斷和操作
* 如果用戶已經完成了郵箱的驗證 就更新狀態
*/
if ($csc['csc'] != 100) {
if ($user['safemail']) {
$csc['csc'] = 100;
$csc['update_time'] = time();
$model->flush('video_task_user', array('csc' => serialize($csc)), array('auto_id' => $userTask['auto_id']));
return 'success';
}
return 'doing';
}
}