2012-02-09 13 views
0

CakePHP 2.0のコントローラー間で情報を交換する方法についてちょっと混乱します。これは基本的に私がやろうとしていることです。 ImagesController -cakephpのコントローラー間で情報をやりとりする方法

私はなど、ユーザーのユーザー、パスワードを保持しているID、名前、パス、など usersテーブルを保持している画像のdbテーブル、

私はモデルImage.php、コントローラを持っています。 PHP、および ビュー - UsersController.php、およびビュー - ビュー/画像/ add.ctpビュー/画像/ビュー/画像/ view.ctp

index.ctp私はモデルUser.php、コントローラを持っています - View/Users/index.ctp、表示/ユーザー/ login.ctp

マイビュー/画像/ index.ctpがアップロードされているすべての画像を一覧表示し、[表示/画像/ add.ctpは、誰もが

ビュー/ユーザー/ login.ctpは、ユーザーログをすることができます画像をアップロードすることができますし、それはだ場合正しい情報であれば、View/Users/index.ctpにユーザを送ります

1)View/Images/add.ctpには、ログインしているユーザだけがアクセスできるようにするにはどうすればいいですか? /add.ctpにユーザセッション情報を入れて、データが設定されているかどうか、あるいはCakePHPでどのように動作するのかを確認します。

2)$ this-> Image-> saveAll($ data_s)を使用して画像から画像テーブルを更新する場合。どのようにデータの一部をUserテーブルに保存できますか?私はドキュメントを見てきましたが、ちょっと混乱しました。

答えて

2
  1. 使用AuthComponent to handle authentication、。
  2. 2つのモデルが関連付けられている場合は、一方を他方にアクセスできます。例えば。 Image belongsTo Userの場合、UserモデルはImageモデルから簡単な$this->Image->Userを介してアクセスできます。そうでない場合は、$uses attributeを使用する任意のコントローラに、またはloadModel methodを一時的に使用して、任意のモデルを含めることができます。
0
  1. コントローラでこのチェックを行う必要があります。ログインしていない場合は、そのビューを使用するブランチにコードをドロップしないでください。あなたは、そのような論理をビューに入れてはいけません。

  2. $this->User->save($some_data)ここで、$this->Userにはユーザーモデルがロードされており、$some_dataは、ユーザーテーブルに挿入するデータの狭いサブセットです。本当に何をしたいです

関連する問題