1

私は現在、ストーリー ボードに取り組んでおり、そこにストーリーを伝える画像をアップロードしています。

問題は、関連するクエリを制限したいだけです。

絵コンテhas_manyには画像の関係があります。ストーリーボードが表示されるリストでは、最初の画像のみを表示したいだけで、誰かがそれをクリックするとすべてが表示されます。すべて表示しても問題ありませんが、関連する画像だけをビューに制限できます。

そして、フォーラムでそれに関する多くの情報を読んだり、さまざまなバリエーションを試したり、制限が無視されたり、エラーが発生したりするため、完全に混乱しています

ここに私のコードがあります

コントローラ

$stories = Model_Storyboard::find('all', array('related' => array('storyboardimage')));

$this->template->title = "Sotry Board | " . Config::get('site_name');
$this->template->content = View::forge('storyboard/index', array('stories' => $stories));

storyboardimageでは、各ストーリーボードの最初の画像を表示するように制限するにはどうすればよいですか?

多くのことを求めている場合は申し訳ありませんが、多くのバリエーションを試してみましたが、何も機能しないため、誰かが実際の例を教えてくれたら本当にうれしいです...

4

1 に答える 1

0

リレーションに基準を追加できます。つまり、、whereなどですorder_bylimit

たとえば(これはテストされていないことに注意してください)

$stories = Model_Storyboard::find('all', array(
    'related' => array(
        'storyboardimage'   =>  array(
            'limit' =>  1,
            'order_by'  =>  array(
                'field_indicative_of_first_image' => 'desc'
            ),
        )
    )
));

field_indicative_of_first_image上記の例では、これを最初の画像を取得するために使用できる列に置き換えることを意味するものを追加しました。これは、たとえば、created_at列またはweightまたはsort_order列である可能性があります。あなたのデータベーススキーマを知らなければ、私はあなたがどれを必要とするかをあなたに言うことができません。

于 2012-11-24T14:58:19.213 に答える