addItem($aItem); if($res){ } return $res; } /** * @throws ModelException */ function delPostById($id) { $oPost = $this->findItem($id); $res = $this->delItem($id); if($res){ $oPostHistoryModel = new PostHistoryModel(); $oPostHistoryModel->addPostHistory(PostHistoryModel::METHOD_DEL,$oPost->toArray()); } return $res; } /** * @throws ModelException */ function delPostByUuid($uuid) { $oPost = $this->findItemByWhere(['uuid'=>$uuid]); $res = $this->newQuery()->where('uuid', $uuid)->delete(); if($res){ $oPostHistoryModel = new PostHistoryModel(); $oPostHistoryModel->addPostHistory(PostHistoryModel::METHOD_DEL,$oPost->toArray()); } return $res; } function getPostListByUid($uid): \Illuminate\Database\Eloquent\Collection|array { return $this->getItemsByWhere(['uid'=>$uid]); } function getPostById($id): \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Builder|array|null { return $this->findItem($id); } /** * @throws ModelException */ function updatePostById($aItem): bool|int { if(!isset($aItem['id'])) throw new ModelException('updatePostById params error'); if(empty($aItem['id'])) throw new ModelException('updatePostById params error'); $oPost = $this->findItem($aItem['id']); $res = $this->updateItem($aItem); if($res){ $oPostHistoryModel = new PostHistoryModel(); $oPostHistoryModel->addPostHistory(PostHistoryModel::METHOD_EDIT,$oPost->toArray()); } return $res; } /** * @throws ModelException */ function updatePostByUuid($aItem): bool|int { if(!isset($aItem['uuid'])) throw new ModelException('updatePostByUuid params error'); if(empty($aItem['uuid'])) throw new ModelException('updatePostByUuid params error'); $oPost = $this->findItemByWhere(['uuid'=>$aItem['uuid']]); $res = $this->updateItem($aItem,'uuid'); if($res){ $oPostHistoryModel = new PostHistoryModel(); $oPostHistoryModel->addPostHistory(PostHistoryModel::METHOD_EDIT,$oPost->toArray()); } return $res; } function getPostListByMid($mid): \Illuminate\Database\Eloquent\Collection|array { return $this->getItemsByWhere(['mid'=>$mid]); } function getPostListByUidMid($uid,$mid): \Illuminate\Database\Eloquent\Collection|array { return $this->getItemsByWhere(['uid'=>$uid,'mid'=>$mid]); } function getPostListByUids($uids,$sDateLimit = null): \Illuminate\Database\Eloquent\Collection|array { if($sDateLimit == null) $sDateLimit = date('Y-m-d H:i:s',strtotime('-3 day')); return $this->newQuery()->where('created_at',$sDateLimit)->whereIn('uid',$uids)->get(); } }