2

私はいつもパラメータがフォームでモデルメソッドに渡されるのを見てきました$this->example_model->method('Some Title');

私は最近、ここで(今は見つかりません)、適切に作成されたモデルは次のようなメソッドへのパラメーターを受け取る必要があるという回答を見ました。

$this->example_model->method->title = 'Some Title';

これを行う方法がわからないようですが、これを実現するためのモデルメソッドはどのようになりますか?これは本当にパラメータを渡す方法ですか?

4

1 に答える 1

0

まあ、ニーズと使用法に依存します。

モデルのデータベーステーブルからすべてのエントリをプルする必要があるとします。これで問題ありません。

$this->example_model->get();

いくつかの基準に基づいてすべてのエントリを取得する必要があるとします。私はおそらくこのようなことをするでしょう:

$criterias = array('age' => '> 10', 'gender' => 'm');
$this->example_model->get($criterias);

あなたが達成しようと考えていることは、もっと次のようなものになるでしょう:

$this->example_model->criterias->age = '> 10';
$this->example_model->criterias->gender = 'm';
$this->example_model->get();

または、メソッドバインディングにもっと理想的なものを使用することもできます。

$this->example_model->set_criteria('age', '> 10');
$this->example_model->set_criteria('gender', 'm');
$this->example_model->get();

// With method binding:
$this->example_model->set_criteria('age', '> 10')->set_criteria('gender', 'm')->get();

基本的に、すべてのソリューションは問題ありません。そのうちの1つが最も正しいわけではなく、同じことを実現する方法はまだいくつかあります。ただし、他のものより読みやすいものもあります(エラーが発生しにくいものもあります)。自分に合ったものを選択する必要があり、快適に作業できます。

于 2012-08-04T20:10:25.157 に答える