0

こんにちは、「WHERE 句」で不明な列「配列」を取得し続けています。$receiverNameデバッグする$receiverと、この出力が得られます

array(
    (int) 0 => array(
        'Invoice' => array(
            'receiver_id' => '3',
            'id' => '1'
        ),
        'FieldsInvoice' => array(
            (int) 0 => array(
                'id' => '1',
                'field_id' => '9',
                'invoice_id' => '1',
                'entered_value' => '1000.00'
            )
        )
    ),
    (int) 1 => array(
        'Invoice' => array(
            'receiver_id' => '4',
            'id' => '2'
        ),
        'FieldsInvoice' => array(
            (int) 0 => array(
                'id' => '2',
                'field_id' => '9',
                'invoice_id' => '2',
                'entered_value' => '2000.00'
            )
        )
    ),
    (int) 2 => array(
        'Invoice' => array(
            'receiver_id' => '7',
            'id' => '3'
        ),
        'FieldsInvoice' => array()
    ),
    (int) 3 => array(
        'Invoice' => array(
            'receiver_id' => '8',
            'id' => '4'
        ),
        'FieldsInvoice' => array()
    ),

    //returns receiver_id from the invoices table where sender_id=current user account

$receiver=$this->Invoice->find('all',array(
        'fields'=>('receiver_id'),'conditions'=>array(
        'sender_id'=>$accounts2)));

    //returns company_name from the accounts tables where receiver_id=account.id

私がやろうとしているのは、配列から取得し、それを印刷receiver_idして比較することですが、 findの where ステートメントで問題が発生しますaccount.idcompany_name$receiverName

$receiverName=$this->Account->find('all',array(
        'fields'=>('company_name'),'conditions'=>array(
        'id'=>$receiver)));
4

2 に答える 2

1

これは、配列を渡しているためです。 $receiver 行を次のように変更します

$receiver=$this->Invoice->field('receiver_id',array('sender_id'=>$accounts2));
于 2012-08-16T05:45:22.077 に答える
-1

1) DebugKitをダウンロードしてインストールします(どの CakePHP プロジェクトでも必須です - 真剣に)

2) 右上隅にある DebugKit アイコンをクリックして、オプションを展開します。

3) [Sqllog] タブをクリックし、目的の値ではなく [Array] が表示されている場所を確認します。

4) 値を配列以外に変更する

5) クエリが機能するようになったので、自分でアイスクリームやビールなどを購入して、残りの夜を休みます。


PS - また、コメントごとに、そうで'fields'=>array('company_name')はないはずです'fields'=>('company_name')

于 2012-08-16T02:39:25.320 に答える