異なる ID に対して複数回使用する必要がある非常に長い複数の SQL クエリがあります。これらのクエリをメソッド内の配列に配置して、いつでも呼び出すことができるようにする方がよいと思います。
問題は、ID 変数をクエリ内に配置しようとしたときにスタックしたことです。簡単に例えると、コードは次のようになります。
class SqlQueries {
protected $_queries;
private function $_queriesArr() {
$_queries = array(
"SELECT * FROM tbl_a WHERE id = $id_a",
"UPDATE tbl_b SET b = NULL WHERE id = $id_b",
"UPDATE tbl_c SET c = NULL WHERE id = $id_c",
);
return $_queries;
}
public function $callQuery() {
$id_a = 2;
$tbl_a = $this->$_queriesArr();
return $tbl_a[0];
}
public function $mainMethod() {
echo $this->callQuery();
}
}
クエリ内の変数で常にエラーが発生します。