thinkphp の select と find の違い
thinkphp は、MVC アーキテクチャ管理システムを迅速に開発できる、より優れた PHP 開発フレームワークです。select() メソッドと find() メソッドの両方を使用する必要があります。メソッドはデータセット配列を返すことができますが、違いは何でしょうか?まずコードの比較を見てみましょう:
$tech=M('techlevel','HR_CS_','DB_CONFIG2'); $Data=$tech->where('id=1')->find(); dump($Data); $Data=$tech->where('id=1')->select(); dump($Data);
結果
array(6) { ["ID"] => int(1) ["TechLevel"] => string(2) "10" ["Remark"] => string(4) "??" ["CreateDate"] => string(19) "2013-03-14 15:14:38" ["CreateBy"] => string(5) "admin" ["ROW_NUMBER"] => string(1) "1" } array(1) { [0] => array(6) { ["ID"] => int(1) ["TechLevel"] => string(2) "10" ["Remark"] => string(4) "??" ["CreateDate"] => string(19) "2013-03-14 15:14:38" ["CreateBy"] => string(5) "admin" ["ROW_NUMBER"] => string(1) "1" } }
上記のコードからわかるように、find() は 1 次元配列を返し、select() は 2 次元配列を返すため、値が異なります。1 次元配列の場合は、$data[ を使用します。 "TechLevel" ]、$data[0]["TechLevel"] を使用して二次元配列の値を取得します。 最初この使い方が理解できなかったので取得できませんでした。 1 日デバッグしても値は変わりませんでした。最後に、ダンプ方法を使用した後の 2 つの方法の違いを確認しました。