Example #1
0
 /**
  * Attempt to find a machine by the provided data. An array of machine objects
  * will be returned.
  * @param  $data
  * @return array|bool
  */
 public function find($data)
 {
     $store = $this->machinist->getStore($this->store);
     $table = $this->getTable($data);
     $return = array();
     $rows = $store->find($table, $data);
     if (!is_array($rows)) {
         $rows = array($rows);
     }
     if (is_array($this->defaults)) {
         $relationships = array_filter($this->defaults, function ($i) {
             return $i instanceof \DerpTest\Machinist\Relationship;
         });
     } else {
         $relationships = false;
     }
     foreach ($rows as $row) {
         $machine = new \DerpTest\Machinist\Machine($store, $table, (array) $row);
         if (!empty($relationships)) {
             foreach ($relationships as $k => $r) {
                 $local = $r->getLocal();
                 if (!empty($row->{$local})) {
                     $machine->set($k, $r->getBlueprint()->findOne($row->{$local}));
                 }
             }
         }
         $return[] = $machine;
     }
     return $return;
 }
Example #2
0
 public function testNonCompoundKeyId()
 {
     $machine = new Machine($this->store, 'some_table', array('name' => "awesome", "id" => 134, 'other' => 'whut'));
     Phake::when($this->store)->primaryKey('some_table')->thenReturn('id');
     $this->assertEquals(134, $machine->getId());
 }