コード例 #1
0
 public static function getRelationLeftItems(CCModel $model, $classRelation)
 {
     $leftClass = get_class($model);
     $res = CatRelations::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("leftClass=:leftClass AND rightClass=:rightClass AND leftId=:id")->setParams(array(":leftClass" => $leftClass, ":rightClass" => $classRelation, ":id" => $model->id))->setLimit(-1)->setCache(0));
     $list = [];
     foreach ($res as $items) {
         $list[] = $items->rightId;
     }
     return $list;
 }
コード例 #2
0
ファイル: edit.php プロジェクト: bogiesoft/yii-travel
    <?php 
foreach ($form->relations() as $relation) {
    ?>
        <?php 
    if ($relation[0] == CCModel::HAS_MANY || $relation[0] == CCModel::MANY_MANY) {
        // Связь многие ко многим или многоие к одному
        ?>
            <h3><?php 
        echo $relation[1];
        ?>
</h3>
            <div class="listItems">
                <?php 
        // Собираем ID значание из связанной таблицы в масив чтобы потом проверять  м т
        $listValue = array();
        foreach (CatRelations::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("leftId=:leftId AND leftClass=:leftClass AND rightClass=:rightClass")->setParams(array(":leftId" => $form->id, ":leftClass" => SiteHelper::getCamelCase($form->tableName()), ":rightClass" => $relation[1]))->setCache(0)) as $itemValue) {
            $listValue[] = $itemValue->rightId;
        }
        $relationTable = $relation[1];
        if (!property_exists($relationTable, "owner")) {
            $listItems = $relationTable::fetchAll(DBQueryParamsClass::CreateParams()->setOrderBy("name")->setLimit(-1)->setCache(0));
        } else {
            $listItems = $relationTable::fetchAll(DBQueryParamsClass::CreateParams()->setConditions("owner=0")->setOrderBy("name")->setLimit(-1)->setCache(0));
        }
        foreach ($listItems as $relationItem) {
            ?>
                    <div><input type="checkbox" <?php 
            echo in_array($relationItem->id, $listValue) ? "checked=\"checked\"" : "";
            ?>
 name="<?php 
            echo SiteHelper::getCamelCase($form->tableName()) . "[" . $relation[1];