- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在 Yii 框架中启动了一个项目(Yii 级别:初学者)。我决定使用 WP 风格的数据库表来存储我的条目,并将它们分配给不同的类别、子类别,并为条目分配多个标签。
基本上,这是表格(注意这里的名称是单数):
tbl_entry(条目)tbl_terms(名称、类别、子类别、标签)tbl_term_taxonomy(类别、子类别、标签分类法)tbl_term_relationship(根据条目的ID,创建关系)
到目前为止,我能够获取所有内容(猫、子猫、标签)。我还能够区分类别和子类别,但无法对它们进行分层排序。
我需要它们:
Category 1
Subcategory of Cat 1
Another subcat of Cat 1
Category 2
Subcategory of Cat 2
Another subcat of Cat 2
Yet another subcat of Cat 2
Catwegory 3
etc.
目前,它们显示如下内容:
Another subcat of Cat 1
Category 2
Subcategory of Cat 2
Another subcat of Cat 2
Category 1
Subcategory of Cat 1
Another subcat of Cat 1
Yet another subcat of Cat 2
Catwegory 3
要点是:它们以无意义的顺序显示,更准确地说,它们在添加到数据库时被堆叠在另一个下面。
我不确定我是否应该能够对某些内容进行分组,如果可以,那么是什么表和列?
我在每个表的类中都有关系,并尝试在那里放置组子句,但没有成功。
====================编辑===============
我忘了说明几件事。我目前正在尝试在显示时为单个条目执行此操作(显示猫、子猫和标签)。
Controller EntryController
public function actionView($id)
{
$entry = $this->loadModel();
$relations = $entry->relations;
$this->render('view', array(
'entry' => $entry,
'relations' => $relations,
));
}
与 Termrelationship.php 建立主要关系的模型类 Entry.php:
public function relations()
{
return array(
'relations' => array(self::HAS_MANY, 'Termrelationship', 'id',),
);
}
view.php。注意:由于它们都只是关系(猫、子猫、标签),并且来自关系表,因此它们在该表本身中没有设置任何层次结构。我必须比较分类名称以赋予它们不同的标记(并将它们放置在另一个 block (标签)中)。子目录在此处显示为缩进:http://screencast.com/t/CvCBJoQqD0WP只是因为它们被包裹在一个SMALL标签中。这很好,但我还希望能够列出一个主/父类别,然后列出该类别的所有子类别,然后启动一个新类别,等等...
<div class="row">
<div class="col-md-6">
<blockquote>
<?php
foreach($relations as $relation):
if($relation->taxonomy['taxonomy']=='category'):
echo $relation->taxonomy->term->name . ' (Parent: '.$relation->taxonomy['parent'].')';
endif;
if($relation->taxonomy['taxonomy']=='subcategory'):
echo '<small>'.$relation->taxonomy->term->name . ' (Parent: '.$relation->taxonomy['parent'].')</small>';
endif;
endforeach;
?>
</blockquote>
</div>
<div class="col-md-6">
<?php
foreach($relations as $relation):
if($relation->taxonomy['taxonomy']=='tag'):
echo '<span class="label label-default">'.$relation->taxonomy->term->name.'</span> ';
endif;
endforeach;
?>
</div>
</div>
最佳答案
查看 relational active records 的解释后,您可以在每个模型的 relations()
函数中为关系数据定义正确的 order
以及一个 with
定义来急切地加载子项自动项目。或者,您可以使用 ->with(array('…'))->find()
操作来手动实现预先加载到自定义程度。
// Entry actionView() Option one, manually setting depth
// should load a single entry with relationships 2 levels deep + parent/current
$entry = Entry::model()->with(array('relations.relations'))->findByPk($id);
// Entry Model, Option two fully specifying the relationship
public function relations()
{
return array(
'relations' => array(self::HAS_MANY, 'Termrelationship', 'id', 'order' => 'entry.name', 'with' => 'relations'),
);
}
顺便说一句。您确定relations()
中的id
部分是正确的外键引用吗?您甚至可能希望对关系使用 through
修饰符来定义有关关系结构的附加信息。
关于php - Yii 框架 + WP 风格(使用 WP 数据库表)后层次结构 : I need to order categories and subcategories,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669919/
我正在尝试将多个水平链接的 Button 和 TextView 垂直链接为 View 集,但仍保持平面 View 层次结构。这是我的初始布局和代码:
到目前为止,我已经在Google BigQuery上训练了几种模型,目前我需要查看模型的外观(即架构,损失函数等)。 有没有办法获取这些信息? 最佳答案 仔细阅读文档后,我可以说该功能尚不存在。我什至
本文实例讲述了PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)。分享给大家供大家参考,具体如下: 前言: 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个
我是一名优秀的程序员,十分优秀!