LoginSignup
0
0

More than 1 year has passed since last update.

CakePHP3よく使ってるなと思うコマンドメモ

Posted at
Session.php
$Session = $this->request->getSession();
$Session->check('shikibetsu_name');
$shikibetsu_name = $Session->read('shikibetsu_name');
$Session->write('shikibetsu_name',data);
$SessionId = $Session->id;
Table.php
use Cake\ORM\TableRegistry;
$CompaniesTable = TableRegistry::getTableLocator()->get('Companies');

//有無のチェック
$Company = $CompaniesTable->find()->where(['id' => $id])->first();
//firstを使う。get($id)だとない場合エラーになるので判定までいけない
if($Company){
//あった場合の処理
}else{
//なかった場合の処理
}

$Company = $CompaniesTable->newEntity($Data);//InsertEntity
$Company = $CompaniesTable->patchEntity($Company,$Data);//UpdateEntity

if ($Company->getErrors()) {
//バリデーションエラー処理
}

if ($Company = $CompnaiesTable->save($Company)) {
//save成功処理
}else{
//seve失敗処理
}

Email.php
use Cake\Mailer\Email;
$Email = new Email('sakura');
$Email->setEmailFormat('text')
->setViewVars(['user_name' => $user_name, 'age' => $age]);
$Email->viewBuilder()->setTemplate('login');
$Email->setFrom(['notify@sample.jp' => 'なんとかメール配信システム'])
->setTo($mail)
->setSubject($title)
->send();
redirect.php
use Cake\Routing\Router;
return $this->redirect(['controller' => 'dashboards', 'action' => 'login']);
LayoutRender.php
$this->autoRender = false;
$this->viewBuilder()->setLayout('any_layout');
return  $this->render('any_template');
or
return  $this->render('any_template','any_layout');
ajax.php
if (!$this->request->is('ajax')) {
 return new ForbiddenException();
}

$this->autoRender = false;

$ret = [];
$ret['error'] = [];
$ret['status'] = 'fail';

return $this->response = $this->response->withCharset('UTF-8')->withType('application/json')->withStringBody(json_encode($ret));
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0