Php 我应该如何实现这个映射器方法来检索正确的信息?
我有几个表格的形式类似于这个原型:Php 我应该如何实现这个映射器方法来检索正确的信息?,php,Php,我有几个表格的形式类似于这个原型: <tr><td><input type="text" name="directorios_url[]" value="" /></td> <td><input type="text" name="directorios_kword[]" value="" /></td> <td><input type="text" name="directorios_link
<tr><td><input type="text" name="directorios_url[]" value="" /></td>
<td><input type="text" name="directorios_kword[]" value="" /></td>
<td><input type="text" name="directorios_link[]" value="" /></td></tr>
现在,我正在映射器中使用一个名为setOptions的函数,它如下所示:
public function setOptions(array $options) {
$methods = get_class_methods($this);
foreach ($options as $key => $value) {
//test
if(preg_match("/[a-zA-Z]_/", $key)){
$key = substr($key, 0, strpos($key.'_', '_') );
$method = 'set' . ucfirst($key);
if (in_array($method, $methods)) {
$this->$method($value);
}
}else{
//
$method = 'set' . ucfirst($key);
if (in_array($method, $methods)) {
$this->$method($value);
}
}
}
return $this;
}
有没有关于如何以
protected '_directorios' =>
array
'directorios_url'
array( 0 => 'something.com',
1 => 'something2.com'),
array
'directorios_kword'
array( 0 => 'blah',
1 => 'blah'),
array
'directorios_link'
array( 0 => 'www.test.com/dir',
1 => 'www.test2.com/dir')
编辑:有关更多信息,此模型的setter和getter共享以下格式:
public function setDirectorios($directorios) {
$this->_directorios = (array) $directorios;
return $this;
}
public function getDirectorios() {
return $this->_directorios;
}
您是否将发布的数据传递给setOptions,如下所示:
$mapper->setOptions($POST)代码>?如果要发布深度嵌套的数据数组,请尝试使用如下表单字段:。。name=“directorios[url][]”。
,。。name=“directorios[kword][]”。
@Robin是的,我正在做类似的事情。我会试试你的建议,好吗now@Robin...protected“\u directorios'=>array'dir\u url'=>array 0=>string'url1'(长度=4)1=>string'url2'(长度=4)'dir\u kword'=>array 0=>string'kword1'(长度=6)1=>string'kword2'(长度=6)'dir_link'=>array 0=>string'link1'(长度=5)1=>string'link2'(长度=5):D成功了!谢谢!
public function setDirectorios($directorios) {
$this->_directorios = (array) $directorios;
return $this;
}
public function getDirectorios() {
return $this->_directorios;
}