コード例 #1
0
ファイル: Scaffold.php プロジェクト: ngnpope/jerity
 /**
  * Generate form elements suitable for updating the given record in the
  * given table.
  *
  * @param  string                  $table      The table for which elements
  *                                             should be generated.
  * @param  mixed                   $primary_key  The primary key value for an 
  *                                               update form.
  * @param  \Jerity\Form\Generator  $generator  An existing form that should 
  *                                             be added to. If not provided,
  *                                             a new instance is created.
  *
  * @return  \Jerity\Form\Generator  The generator with other fields added.
  */
 public function generateUpdateForm($table, $primary_key, Form\Generator $generator = null)
 {
     $generator = $this->generateForm($table, 'update', $generator, $primary_key);
     // fetch row and populate form
     $data = $this->fetchRow($table, $primary_key);
     if (count($data)) {
         $generator->populateData(Arrays::collapseKeys($data, self::FORM_PREFIX . '_args[' . $table . ']'));
     }
     return $generator;
 }
コード例 #2
0
ファイル: ArraysTest.php プロジェクト: ngnpope/jerity
 /**
  * @dataProvider  collapseKeysProvider
  */
 public function testCollapseKeys($input, $expected)
 {
     $this->assertSame($expected, Arrays::collapseKeys($input));
 }
コード例 #3
0
ファイル: Generator.php プロジェクト: ngnpope/jerity
 /**
  *
  */
 public function populateData(array $data, $replace = true)
 {
     // $data should be a single-dimension array
     $data = Arrays::collapseKeys($data);
     if ($replace) {
         $this->data = $data;
     } else {
         // merge and overwrite
         $this->data = $data + $this->data;
         # array addition is NOT commutative
     }
 }