#!/usr/bin/php true]) as $order) { if(!is_array($order->products) || !count($order->products)) { echo "keine Produkte in Order ".$order->id."\n"; continue; } $contracts = []; $primary_matchcode = false; // make contracts but don't save them yet foreach($order->products as $op) { $contract = ContractModel::getFirst(["product_id" => $op->product_id, "orderproduct_id" => $op->id]); if($contract) { if($contract->matchcode) { $primary_matchcode = $contract->matchcode; } echo "Contract für Order ".$order->id." Produkt ".$op->product->name." (".$op->product_id.") schon vorhanden (contract_id ".$contract->id.")\n"; continue; } $contract = ContractModel::createFromOrderproduct($op); $contract->create_by = $me->id; $contract->edit_by = $me->id; if($contract->matchcode) { $primary_matchcode = $contract->matchcode; } $contracts[] = $contract; } if(!$primary_matchcode) { $primary_matchcode = $order->owner->street.", ".$order->owner->zip." ".$order->owner->city; } // set matchcode and save foreach($contracts as $contract) { if(!$contract->matchcode) { $contract->matchcode = $primary_matchcode; } //var_dump($contract);exit; $contract->save(); } exit; }