Gc\Property\Model::fromIdentifier PHP Method

fromIdentifier() public static method

Initiliaze model from identifier
public static fromIdentifier ( string $identifier, integer $documentId ) : Model
$identifier string Identifier
$documentId integer Document id
return Model
    public static function fromIdentifier($identifier, $documentId)
    {
        $propertyTable = new Model();
        $row = $propertyTable->fetchRow($propertyTable->select(function (Select $select) use($documentId, $identifier) {
            $select->join(array('t' => 'tab'), 't.id = property.tab_id', array());
            $select->join(array('dt' => 'document_type'), 'dt.id = t.document_type_id', array());
            $select->join(array('d' => 'document'), 'd.document_type_id = dt.id', array());
            $select->where->equalTo('d.id', $documentId);
            $select->where->equalTo('identifier', $identifier);
        }));
        $propertyTable->events()->trigger(__CLASS__, 'before.load', $propertyTable);
        if (!empty($row)) {
            $propertyTable->setData((array) $row);
            $propertyTable->setDocumentId($documentId);
            $propertyTable->setOrigData();
            $propertyTable->events()->trigger(__CLASS__, 'after.load', $propertyTable);
            return $propertyTable;
        } else {
            $propertyTable->events()->trigger(__CLASS__, 'after.load.failed', $propertyTable);
            return false;
        }
    }

Usage Example

Example #1
0
 /**
  * Test
  *
  * @return void
  */
 public function testFromIdentifier()
 {
     $documentModel = DocumentModel::fromArray(array('name' => 'DocumentTest', 'url_key' => 'document-test', 'status' => DocumentModel::STATUS_ENABLE, 'sort_order' => 1, 'show_in_nav' => true, 'user_id' => $this->user->getId(), 'document_type_id' => $this->documentType->getId(), 'view_id' => $this->view->getId(), 'layout_id' => $this->layout->getId(), 'parent_id' => 0));
     $documentModel->save();
     $this->assertInstanceOf('Gc\\Property\\Model', Model::fromIdentifier($this->object->getIdentifier(), $documentModel->getId()));
 }
All Usage Examples Of Gc\Property\Model::fromIdentifier