###前提・実現したいこと
暗号化されているTINYBLOB型の項目の値を復号して取得する際、
resource型でなく、値を文字として取得するにはどうすればよいでしょうか?
何が原因なのか、なにを記載すべきなのかもわからないため
不足している情報があれば指摘していただければと思います。
###実際のコード
javascriptでは以下のようにajaxを使用してデータを取得しています。
// データ取得 function getData() { var params = {}; params['no'] = "2017"; $.ajax({ url: '<?= $this->Url->build(['action' => 'get_Val']) ?>', data: params, dataType: 'json' }).done(function(data) { if(data.length < 1){ $('#copy_errmsg').html('存在しません。'); }else{ // value取得後の処理 } });
Controllerで行っている処理は以下のようになります。
public function getVal(){ $key = "pass"; $array = []; $query = $this->request->getQueryParams(); $no = $query['no']; $this->Test = TableRegistry::get('Test'); $query = $this->Test->find() ->select([ 'Test__no', 'Test__value' => "decode(no, '" . $key . "')" ]) ->where([ "no = " => $no ]); $results = $query->toArray(); if (count($results) > 0) { $result = $results[0]; $array["no"] = $result->Test__no; $array["value"] = $result->Test__value; } echo json_encode($array); }
条件などは少し略して記載しています。
「$this->Test」の内容をログに出力したところ
object(App\Model\Entity\Test) { 'no' => '2017', 'value' => resource }
となってしまい、正しい値が取得できない状態です。
データ自体は取得出来ているのですが、値が表示されないようです。
cakephpで作成したクエリを実行したところ、複合も行えており、値も表示されています。
###試したこと
stream_get_contents()なども使用してみましたが、Falseが返ってくるのみでした。
###補足情報(言語/FW/ツール等のバージョンなど)
cakephp3、DBはMySQLを使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。