Php 多维数组模型
我对Yii框架有点陌生,这是关于找到最好的解决方案,我知道你可以通过循环和其他方式来实现这一点,但是如果有更好的解决方案的话,我会尝试找到一个更好的解决方案Php 多维数组模型,php,yii,Php,Yii,我对Yii框架有点陌生,这是关于找到最好的解决方案,我知道你可以通过循环和其他方式来实现这一点,但是如果有更好的解决方案的话,我会尝试找到一个更好的解决方案 Structure (example): Tv: id, price, size_id, brand_id Brand: id, name Size: id, inch, cm 因此,现在我正在尝试创建一个网格,其中的行将是品牌,例如:三星、索尼、lg,列表示尺寸,例如:20、30,。。。这些电池的价格就是它的价值
Structure (example):
Tv: id, price, size_id, brand_id
Brand: id, name
Size: id, inch, cm
因此,现在我正在尝试创建一个网格,其中的行将是品牌,例如:三星、索尼、lg,列表示尺寸,例如:20、30,。。。这些电池的价格就是它的价值
40" 44" 48" 50"
Brand1 $200 $240 $280 320
Brand2 $180 $220 $240 300
Brand3 $210 $230 $270 350
同样,我正在使用Yii/PHP搜索最佳解决方案。在本例中,使用CSqlDataProvider创建SQL 示例如下:
如果您的网格不是从CGRIDVIEW派生的,您应该考虑使用CGRIDVIEW或重写网格。CGridView为您提供了开箱即用的分页和ajax导航。CGridView也将很容易扩展,例如,您可以将表移动到bootstrap,而不必担心将来的麻烦
如果要使用CActiveRecord,可以通过以下方式执行此操作: 为尺寸添加吸气剂或重写uu进入品牌: 将名称添加到属性标签 配置CGridView以使用您的特殊属性:当你说网格时,你指的是CGridView还是你自己的网格?对我来说,你可以通过一个Sql查询来实现。现在我正在使用我自己的网格,你建议使用CGridView吗?我不知道你自己的网格是什么,但我认为最简单的方法是使用没有ActiveRecord的自定义Sql请求
public function get30InchPrice() {
$elems = $this->tvs(array('condition' => 'size_id=:e', 'params' => array('e' => 1)));
foreach($elems as $v) return $v->price;
return 0;
}
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
'30InchPrice',
'40InchPrice',
), ));