service_id, service_name, service_price, ipad_img, cart_id 키와 해당 값을 추출하고 싶습니다. 어떻게 해야 하나요?
service_id, service_name, service_price, ipad_img, cart_id 키와 해당 값을 추출하고 싶습니다. 어떻게 해야 하나요?
간단하고 투박하게 설명하려면 다음을 참고하세요
<code>$newArray = []; foreach($array as $key=>$val){ $newArray[$key]['service_id'] = $val['id']['service_id']; $newArray[$key]['service_name'] = $val['detail'][0]['service_name']; $newArray[$key]['service_price'] = $val['detail'][0]['service_price']; $newArray[$key]['ipad_img'] = $val['detail'][0]['ipad_img']; $newArray[$key]['cart_id'] = $val['cart_id']['cart_id']; } var_dump($newArray);</code>
제가 실행할 수 있도록 이 사진에 코드를 게시해 주실 수 있나요? . .
<code class="php">$new_arr = []; array_walk_recursive($arr, function($item, $key) use (&$new_arr) { $new_arr[$key] = $item; }); print_r($new_arr);</code>
데이터베이스에서 가져온 데이터가 한 개인지 여러 개인지 알려주실 수 있나요?
여러 항목은 다음과 같을 수 있습니다:
$arr=[];
foreach($fruits as $k=>$v){
<code>$arr[$k]['service_id'] = $v['id']['service_id']; $arr[$k]['service_name'] = $v['detail'][0]['service_name']; $arr[$k]['service_price'] = $v['detail'][0]['service_price']; $arr[$k]['ipad_img'] = $v['detail'][0]['ipad_img']; $arr[$k]['cart_id'] = $v['cart_id']['cart_id'];</code>
}
print_R($arr);
원하시면 위의 것을 사용하시면 됩니다
왼쪽 조인을 사용할 수 있습니다.
테이블 구조는 다음과 같아야 합니다.
yld_cart:
cart_id | service_id | associator_id |
---|
yld_service:
service_id | service_name | service_price | ipag_img |
---|
SQL 문은 다음과 같이 작성할 수 있습니다.
<code class="mysql">SELECT cart_id , cart.`service_id` ,service.`service_name`,service.`service_price`,service.`ipad_img`FROM `yjd_cart` as cart LEFT JOIN `yjd_service` service ON cart.service_id = service.service_id WHERE cart.associator_id=1</code>
yii2는 다음과 같이 작성할 수 있습니다.
<code class="php">$query = new Query(); $associator_id = 1; $result = $query->select(['cart_id','yjd_cart.service_id','yjd_service.service_name','yjd_service.service_price','yjd_service.ipad_img']) ->from('yjd_cart') ->leftJoin('yjd_service','yjd_service.service_id = yjd_cart.service_id') ->where(['yjd_cart.associator_id'=>$associator_id]) ->all(); var_dump($result);</code>