調べると結構な人たちが
|
pm.sendRequest({ url: 'http://localhost:8080/sanctum/admin-csrf-cookie', method: 'GET', }, function (error, response, { cookies }) { if (!error) { pm.environment.set('xsrf-token', cookies.get('XSRF-TOKEN')) } }) |
こうしろって言ってるけどさ
皆そっから2回目の通信出来てるのかな?
私全然無理だったんだけど
永遠に
TypeError: Cannot destructure property ‘cookies’ of ‘undefined’ as it is undefined.
ってエラーが出続ける
|
pm.sendRequest({ url: 'http://localhost:8080/sanctum/admin-csrf-cookie', method: 'GET', header: { 'Accept': 'application/json' } }, function (error, response, { cookies }) { if (!error) { pm.environment.set('xsrf-token', cookies.get('XSRF-TOKEN')) } }) |
こうしたら大丈夫になった
皆こうしなくてもできてるの???
不思議なんだが
私なにか他に設定足りないのか?
|
<form enctype="multipart/form-data" id="form"> <input type="text" name="name"> <input type="file" name="img"> </form> |
ってあったとして
Ajaxで
new FormData($(‘#form’)[0]);
したものを送るとFormRequestにはnameしか来ないのでimgのバリデーションが通らない
確認方法
$this->request->all();
でもその後コントローラーで
$this->request->all();
するとちゃんとimg入ってる
さんざん悩んで気づいたのが
FormRequest内で
$this->file(‘img’);
ってやると一応存在はしてたんだ
なんかSymfony?使ってるっぽい?
多分このもう一歩先に答えが有るんだろうけど私の頭ではここまでで限界w
FormRequest内にValidationDataメソッドを作成して
|
protected function validationData() { return array_merge($this->request->all, [ 'img' => $this->file('img'), ]); } |
したった。
無理やりデータ追加してるし多分なんか違うんだろうなと思うんだけど
どうせコントローラーにrequestが渡る時にimg上書きされるんだろうし
バリデーションかかれば何でもいいやということで一応解決
でもスッキリしない
なんだろ、Search Pluginのバージョン?CakePHPが3だから?
やりたいことがなかなか出てこなかったのでメモ
Search Pluginは普通メインのテーブルからのみの検索となるので
それに紐付いてるテーブルからも検索できるようにしたかった。
コントローラー側の
public $presetVarsと
モデルの
public $filterArgsを設定すればできた
メインのモデルに紐付いてるモデルをHogesモデルだとすると
コントローラー側のpublic $presetVarsを
|
public $presetVars = array( 'status' => array( 'type' => 'value' ), 'Hoges.hoge_id' => array( 'type' => 'value', 'field' => 'hoge_id' ) ); |
statusはメインのモデルなのでモデル名を指定しないでも大丈夫だった
Hoges.hoge_idというのは、field名hoge_idという検索フォームはHogesモデルのhoge_idカラムから検索してね
という意味なんだと思う
ただ、コレだけだと動かなくて
モデルのpublic $filterArgsを
|
public $filterArgs = array( 'status' => array( 'type' => 'value' ), 'hoge_id' => array( 'type' => 'value', 'field' => 'Hoges.hoge_id' ) ) |
というようにコントローラーに書いたのと同じ感じで書いてあげると動いた。
ただメインのモデルにHogesという別モデルのことも書かなきゃいけないのがちょっと違和感……
Just another WordPress site