thinkphp中 select() 和find() 方法的區別


$about=M('document');
$abouts=$about->where('id=2')->select();
$abouts2=$about->where('id=2')->find();
var_dump($abouts);
var_dump($abouts2);

輸出結果:

array (size=1)
  0 => 
    array (size=24)
      'id' => string '2' (length=1)
      'uid' => string '1' (length=1)
      'name' => string '' (length=0)
      'title' => string '公司簡介' (length=12)
      'category_id' => string '39' (length=2)
      'group_id' => string '0' (length=1)
      'description' => string '公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介' (length=156)
      'root' => string '0' (length=1)
      'pid' => string '0' (length=1)
array (size=24)
  'id' => string '2' (length=1)
  'uid' => string '1' (length=1)
  'name' => string '' (length=0)
  'title' => string '公司簡介' (length=12)
  'category_id' => string '39' (length=2)
  'group_id' => string '0' (length=1)
  'description' => string '公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介公司簡介' (length=156)
  'root' => string '0' (length=1)
  'pid' => string '0' (length=1)

從上面的代碼可以看出,find()返回一個一維數組,select()返回一個二維數組,所以在取值時有所不同,一維數組取值用$data["id"],二維數組取值用$data[0]["id"],由於一開始沒了解這個用法,調試一天也取不值,最后有var_dump()方法才看到兩個方法的不同所在!

        $about=M('document');
        $abouts=$about->where('id=2')->select();
        $abouts2=$about->where('id=2')->find();
//        var_dump($abouts);
//        var_dump($abouts2);
         if($abouts){
            $article = M('document_article');
            //$info = $article->find($abouts['id']);
            $info=$article->where('id='.$abouts2['id'])->find();
        }
        $this->assign('wzjj',$info);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM