2016-09-23 7 views
0

現在のテーブルにデータを保存した後、関連するテーブルの行を更新しようとしています。私は2つのテーブル、リストとキューを持っているとします。キューには、listing_idの外部キーがあります。だから私はもちろん、リストのIDを含む新しいキューを保存しました、どのようにリストテーブルのリストのステータスフィールドを更新することもできますか?例えば、 "一時停止"から "待機中"へ?ます$ this-> loadModel: 他のテーブルの関連する行を更新するcakephp 3

は私のコードは、これはトリックをした

$queue = $this->Queues->newEntity(); 
$queue->listing_id = $this->request->data['id']; 
$queue->user_id = $this->Auth->user('id'); 

if ($this->Queues->save($queue)) {  

    $this->response->body("success"); 

    $this->redirect(array('controller'=>'ListingsController','action' => 'changeStatus', $this->request->data['id'], "queued")); 

} 

協会

一覧表

$this->table('listings'); 
    $this->displayField('name'); 
    $this->primaryKey('id'); 

    $this->addBehavior('Timestamp'); 

    $this->belongsTo('Users', [ 
     'foreignKey' => 'user_id', 
     'joinType' => 'INNER' 
    ]); 

キュー表

$this->table('queues'); 
    $this->displayField('id'); 
    $this->primaryKey('id'); 

    $this->belongsTo('Listings', [ 
     'foreignKey' => 'listing_id', 
     'joinType' => 'INNER' 
    ]); 
    $this->belongsTo('Users', [ 
     'foreignKey' => 'user_id', 
     'joinType' => 'INNER' 
    ]); 
+0

[関連付けられたデータを保存する](http://book.cakephp.org/3.0/en/orm/saving-data.html#saving-associations)のドキュメントから始めてみてください。 – drmonkeyninja

+0

最初にモデルの関連付けを記述してください。 'newEntity()'を作成している間に関連付けをロードし、両方のモデルデータを保存するだけです。 –

+0

お返事ありがとうございます。その文書を何度も何度も読んだことがあると私は信じています。ちょうどそれを把握することはできません。私はフレームワークに少し新しく、私はそれが私が行方不明の単純なものになることを知っている。モデル団体が何を意味しているのですか?あなたが意味すると思うもので質問を更新しましょう。ありがとう – degee147

答えて

0

どのように見えるかを参照してください。 ( 'Listin gs ');

そしてそこから、Listingsコントローラのように、WHERE句を使用してListingsオブジェクトの - > newEntity()、 - > patchEntity()および/または - > save()を実行できます。

例えば:

$this->loadModel('Listings'); 
$listing = $this->Listings->get($id); 
$listing->status = "completed"; 
$this->Listings->save($listing); 

非常に簡単。

+0

これは、必要以上に複雑でエラーが発生する可能性があります。 –

+0

10l、私は実際には特定ではありませんでした。最初の行のステートメントは、実際に私が見逃していたものでした。これはcakephp3の他のモデルのモデルをロードして使用する方法です – degee147

+0

私の答えを編集して、私が意味したことを述べました – degee147

関連する問題