2017-03-24 1 views
1

큰 문제는 아니지만 그 이유를 알고 싶습니다. Yii2 By Example에서 읽었습니다. 그리고 db 트랜잭션의보기에서 해당 파일을 보았습니다. 는 여기에, 드롭 다운리스트에 관하여 코드입니다 :

<?= $form->field($reservation, "room_id")-> 
dropDownList(ArrayHelper::map(Room::find()->all(), 'id', 
function($room, $defaultValue) { 
return sprintf('Room n.%d at floor %d', $room->room_number, $room->floor); 
})); ?> 

내가 함께하고 $ defaultValue.Both는 일없이 시도했다. "$ defaultValue"의 사용법은 무엇입니까? 또는 단지 비센스. 나는 그것을 봤고 아무런 생각이 없습니다. 감사합니다.

답변

0

는 ArrayHelper지도() 함수에서 yii2 참조 http://www.yiiframework.com/doc-2.0/yii-helpers-basearrayhelper.html#map()-detail

에서 볼 수있는 것처럼, 발 사용 너무 clousure 및 그룹 PARAM 수 있습니다 .. clusere에서 다음

하면 내부 기능 번째 당신이 피할 수 있도록

ArrayHelper::map(Room::find()->all(), 'id', 
    function($room) { 
    return sprintf('Room n.%d at floor %d', $room->room_number, $room->floor); 
    }) 

당신은 또한 사용할 수있는이 VAR에게 $ 시험을 통과 $ DEFAULTVALUE를 사용하지 않는 경우에는 함수 내에서 "볼 수"있습니다리스트 오 PARAM을 전달할 수 있습니다 var와 그것을 사용 예 :

$test = 'Big '; 
    ArrayHelper::map(Room::find()->all(), 'id', 
    function($room) use($test) { 
    return sprintf($test . 'Room n.%d at floor %d', $room->room_number, $room->floor); 
    }) 
+0

감사합니다. – Yuzuha

관련 문제