Export.php
2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
namespace app\modules\admin\models;
use Yii;
use yii\base\Model;
use app\modules\admin\models\Products;
class Export extends Model
{
public function saveCsv($fname){
$handle = fopen($fname, "w");
$products = Products::find()->select(['products.*','cp.name as catalog_parent','cp.image as catalog_parent_image','c.name as catalog','c.image as catalog_image']);
$products->leftJoin('catalog c', 'c.id = products.catalog_id');
$products->leftJoin('catalog cp', 'cp.id = c.parent_id');
//print_R($products);exit;
foreach ($products->all() as $product){
$mods = [];
foreach($product->mods as $m){
$mods[] = $m->art.'='.$m->name.'='.$m->cost;
}
$fotos = [];
foreach($product->fotos as $f){
$fotos[] = $f->image;
}
$types = [];
foreach($product->type as $t){
$types[] = $t->name;
}
$brends = [];
foreach($product->brends as $b){
$brends[] = $b->name;
}
$fasovkas = [];
foreach($product->fasovka as $f){
$fasovkas[] = $f->name;
}
$list = [$product->catalog_parent,
$product->catalog_parent_image,
$product->catalog,
$product->catalog_image,
$product->art . '=' . $product->name,
$product->image,
$product->char,
$product->body,
implode('|',$mods),
implode('|',$fotos),
implode('|',$types),
implode('|',$brends),
implode('|',$fasovkas),
$product->new,
$product->top,
$product->akciya,
$product->out_of_stock,
];
//print_r($list);
fputcsv($handle,$list,';');
}
fclose($handle);
}
}