小编sto*_*off的帖子

cakephp 3.x 保存嵌套(深层)关联

我有来自 3rd 方服务调用的产品数据,然后我从中创建一个对象并将其保存到我的 MySQL 数据库中。我的模型如下:

'products' hasMany>> 'product_skus' hasMany>> 'product_sku_attributes'

表关系

在我的 ProductsTable.php initialize() 方法中,我有:

$this->hasMany('ProductSkus', [
    'foreignKey' => 'product_no',
    'dependent' => true,
]);
Run Code Online (Sandbox Code Playgroud)

在我的 ProductSkusTable.php initialize() 方法中,我有:

$this->hasMany('ProductSkuAttributes', [
    'foreignKey' => 'product_sku_id',
    'bindingKey' => 'id',
    'propertyName' => 'product_sku_attributes',
    'dependent' => true,
]);
Run Code Online (Sandbox Code Playgroud)

我的控制器:

$products = TableRegistry::get('Products');
$entity = $products->newEntity($product_data[0]);
$products->save($entity, [
    'associated' => [
        'ProductSkus',
        'ProductSkus.ProductSkuAttributes',
    ]
]);
Run Code Online (Sandbox Code Playgroud)

这是我的实体调试中的相关片段:

'product_skus' => [
    (int) 0 => object(App\Model\Entity\ProductSkus) {

        'sku' => 'BDS1401H',
        'sku_price' => (float) 366.76,
        'sku_weight' => (float) 38.1,
        'sku_img_main' …
Run Code Online (Sandbox Code Playgroud)

orm cakephp associations cakephp-3.x

5
推荐指数
1
解决办法
1881
查看次数

标签 统计

associations ×1

cakephp ×1

cakephp-3.x ×1

orm ×1