17

CakePHP の使用:

私は多対 1 の関係を持っています。多くのリーフからツリーへの関係を考えてみましょう。もちろん、Leaf を Tree に追加するフォームをベイクしました。フォーム ヘルパーによって作成されたドロップダウン ボックス ( タグ) で、それがどの Tree であるかを指定できます。

唯一のことは、SELECT ボックスは常にデフォルトで Tree #1 に設定されますが、追加先の Tree にデフォルト設定することです。

たとえば、呼び出しexample.com/leaf/add/5によりインターフェイスが起動され、新しいリーフがツリー #5 に追加されます。のドロップダウン ボックスはLeaf.tree_id、現在のデフォルトの「ツリー 1」ではなく、「ツリー 5」にデフォルト設定されます。

これを行うには、Leaf コントローラーと Leafview/add.ctpに何を入れる必要がありますか?

4

11 に答える 11

54

CakePHP 1.3 では'default'=>value、選択入力でデフォルト値を選択するために使用します。

$this->Form->input('Leaf.id', array('type'=>'select', 'label'=>'Leaf', 'options'=>$leafs, 'default'=>'3'));
于 2011-08-05T17:17:28.217 に答える
21

select()、またはtext()、またはradio()などは決して使用しないでください。それはひどい練習です。使用する必要がありますinput()

$form->input('tree_id', array('options' => $trees));

次に、コントローラーで:

$this->data['Leaf']['tree_id'] = $id;
于 2009-10-10T06:58:53.033 に答える
9
 $this->Form->input('Leaf.id', array(
'type'=>'select',
'label'=>'Leaf',
'options'=>$leafs,
'value'=>2
));

これにより、$leafs のオプションのリストからデフォルトの 2 番目のインデックス位置の値が選択されます。

于 2013-12-26T11:43:36.490 に答える
8

3 番目のパラメーターは、array('selected' =>value) のようにする必要があります。

于 2010-07-07T12:42:12.390 に答える
1

フォームヘルパーを使用してフォームを生成していると仮定します。

select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

3番目のパラメーターを設定して、選択したオプションを設定します。

于 2009-10-09T21:02:01.470 に答える
0

Cakephp バージョン 3.0 以降を使用している場合は、以下の例に示すように、空の属性を使用して選択入力にデフォルト値を追加できます。

echo $this->Form->input('category_id', ['options'=>$categories,'empty'=>'Choose']);
于 2016-07-08T10:11:47.340 に答える
0

選択ボックスでテキストをデフォルトにするには、$form->select()メソッドを使用します。これがその方法です。

$options = array('m'=>'Male','f'=>'Female','n'=>'neutral');

$form->select('Model.name',$options,'f');

上記のコードはFemale、デフォルトでリスト ボックスを選択します。

焼き続けて…

于 2011-09-28T05:20:31.150 に答える
0
FormHelper::select(string $fieldName, array $options, 
array $attributes)

$attributes['value']デフォルトで選択する値を設定する

<?php echo $this->Form->select('status', $list, array(
    'empty' => false, 
    'value' => 1)
); ?>
于 2013-04-25T12:29:09.547 に答える
0

これに対する最良の答えは

このジョブには select を使用しないでください。代わりに input を使用してください

このような

echo  $this->Form->input('field_name', array(
          'type' => 'select',
            'options' => $options_arr, 
            'label' => 'label here',
            'value' => $id,  // default value
            'escape' => false,  // prevent HTML being automatically escaped
            'error' => false,
            'class' => 'form-control' // custom class you want to enter
        ));

それが役に立てば幸い。

于 2018-07-20T17:23:30.360 に答える