1

私たちは、脂肪のないフレームワークの長いチュートリアルに取り組んでいます。データベースへの接続を確立し、その動作を理解しました。ただし、テーブルのマッピングと単一レコードのロードに関するセクションで行き詰まっています。

これは関連するコードです:

$f3->route('GET /',
    function($f3){

    $db=new DB\SQL(
        'mysql:host=localhost;port=3306;dbname=liselore',
        'jow',
        ''
    );

        $test1 = new DB\SQL\Mapper($db,'test1');
        $test1->load('id=1');

        $f3->set('result', $test1);

        $template = new Template;
        echo $template->render('views/homepage.html');

    }
);

$f3->run();

これはテンプレート ファイルです。

<repeat group="{{ @result }}" value="{{ @item }}">
    <li>{{ @item.name  }} : {{@item.age}}</li>
</repeat>

エラーが発生しないため、ここで何が問題なのかわかりません。いくつかの助けをいただければ幸いです。

どうも、

4

1 に答える 1

4

$test1配列ではなくマッパーオブジェクトです。

したがって、テンプレートは次のようになります。

<li>{{@result->name}} : {{@result->age}}</li>

load注意: マッパーとfindメソッドを混同しないでください。このloadメソッドは、現在のマッパー オブジェクトを 1 つのレコードでハイドレートします。このfindメソッドは、マッパー オブジェクトの配列を返します。例えば:

  • の効果は、オブジェクトをデータベースの行 ID 1$test1->load('id=1')にマップすることです。$test1
  • の効果は$list=$test1->find("name LIKE 'A%'")、名前が A で始まるマッパーの配列を返すことです。
于 2013-11-13T10:10:53.340 に答える