我需要帮助使用find或get或其他任何东西在键值对中获取两个值(用于人类友好下拉列表).我需要帮助最简单的方法在CakePHP中执行此操作.
这是我的尝试:
在我的控制器中
$users = $this->LocationsUser->Users->find('list', [
'limit' => 1,
'keyField' => 'id',
'valueField' => ['first_name', 'last_name']
])->where(['id' => $id]);
Run Code Online (Sandbox Code Playgroud)在我看来
echo $this->Form->input('user_id', [
'options' => $users,
'type' => 'select',
'multiple' => false,
]);
Run Code Online (Sandbox Code Playgroud)我下拉列表的结果:
<option value="10">Fabian;Pankiers</option>
Run Code Online (Sandbox Code Playgroud)看到我需要一个没有分号的结果";" .现在我可以使用javascript删除分号,但那就太过分了.在CakePHP 3中有没有一种简单的方法可以实现这一点?
我不确定如何解释这个问题,所以让我尝试一个简化的例子。
I have two tables Tickets and TicketEntities:
Tickets
tID | Customer | Val
----|----------|------
1 | Paul | 20
2 | Paul | 10
3 | Peter | 15
4 | Jane | 100
5 | Doe | 400
6 | John | 5
Run Code Online (Sandbox Code Playgroud)
TicketEntities
EntityID | TicketID | Type
---------|-----------|--------
1 | 1 | 1
2 | 1 | 2
3 | 3 | 1
4 | 4 | 1
5 | 5 | 2
6 | …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用比较规则,但似乎缺少某些东西或者做得不对.基本上我需要验证来检查small_size的值是否小于或等于big_size.
但这不起作用,我目前正在收到错误,无论大小.
在表中:
...
$validator
->add('small_size', 'valid', ['rule' => 'numeric'])
->requirePresence('small_size', 'create')
->notEmpty('small_size')
->add('small_size', 'comparison', [
'rule' => ['comparison', 'big_size', '<='],
'message' => 'Small size cannot be more than the Big size.'
]);
return $validator;
}
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->existsIn(['Entity_id'], 'Entity'));
return $rules;
}
Run Code Online (Sandbox Code Playgroud)
对此的一些帮助将非常感激.
cakephp ×2
cakephp-3.0 ×2
dropdown ×1
find ×1
join ×1
key-value ×1
left-join ×1
mysql ×1
php ×1
sql ×1
sql-server ×1
validation ×1