3
の代わりにオブジェクト:戻りアレイは、私はCodeIgniterのモデルを持ってCodeIgniterの3中の配列の配列
<?php
class Person_model extends CI_Model {
public function __construct() {
$this->load->database();
}
public function list_persons() {
$query = $this->db->get('persons');
return $query->result_array();
}
public function foobar() {
return 'Custom function here';
}
}
?>
機能list_persons()
はかなり自己説明します。 persons
データベーステーブルからすべての結果を取得します。
このように、現在、それは、アレイのリストで結果を返します。
array(2) {
[0] => array(3) {
["id"] => string(1) "1"
["first_name"] => string(6) "Test 1"
}
[1] => array(3) {
["id"] => string(1) "2"
["first_name"] => string(6) "Test 2"
}
}
はそれを返すように機能list_persons()
を聞かせすることは可能です:
array(2) {
[0] => Person_model {
"id" => 1
"first_name" => "Test 1"
}
[1] => Person_model {
"id" => 2
"first_name" => "Test 2"
}
}
私はカスタム関数を使用できるように私はPerson_model
に次のように書いています:
foreach($this->person_model->list_persons() as $person) {
echo $person->foobar();
}
ありがとうございましたadv ance。このような
ニース。しかし、返されるクラスは 'Person_model'の代わりに' stdClass'であり、 'foobar()'は呼び出せません。アドバイスはありますか? – Raptor
私は答えを更新しました。モデルクラスを表す文字列を '$ query-> result()'に渡します。たとえば、 '$ query-> result( 'Person_model')'はモデルクラスに変換します。 –
完全に動作します。ありがとう! – Raptor