因此,在確保它們的長度相同之后,我將 2 個陣列合并為一個陣列。
//Fetching Ratings for All Coaches & Making a Key, Value Associative Array with Coach id as Key and Rating as Value
$coaches = $coachRepository->findAll();
$rating = $coachRepository->findRatingByCoach();
//Array of coach IDs
$id_array = array();
foreach ($coaches as $c){
$id_array[] = $c->getId();
}
$combined = array_combine($id_array, $rating);
現在我想將這個鍵值陣列傳遞給 Twig 模板和 JavaScript。我目前正在這樣做
return $this->render('...', [
..., 'combined'=>$combined
]);
我正在訪問 Twig 中的陣列
{% for key, value in combined %}
{{ key }} - {{ value }}
{% endfor %}
我收到了這個錯誤。
Object of class App\Entity\Coach could not be converted to string
查看堆疊跟蹤,我可以看到組合的陣列以這種形式傳遞。
'combined' => array(object(Coach))
經過一番除錯,事實證明我認為問題出在 $id_array上,而實際上是 $rating變數出現了問題。我不知道為什么,但我得到了一個浮點值。我通過更改獲取 $rating 的方式解決了這個問題,現在我不是使用 QueryBuilder 從資料庫中獲取它,而是從教練串列中獲取它
//Array of coach IDs and array of Ratings
$id_array = array();
$rating_array = array();
foreach ($coaches as $c){
$id_array[] = $c->getId();
$rating_array [] = $c->getRating();
}
即使我設定了陣列
uj5u.com熱心網友回復:
經過一番除錯,結果發現我認為問題出在 $id_array 上,而實際上是 $rating 變數出現了問題。我不知道為什么,但我得到了一個浮點值。我通過更改獲取 $rating 的方式解決了這個問題,現在我不是使用 QueryBuilder 從資料庫中獲取它,而是從教練串列中獲取它
//Fetching Ratings for All Coaches & Making a Key, Value Associative Array with Coach as Key and Rating as Value
$coaches = $coachRepository->findAll();
//Array of coach IDs and array of Ratings
$id_array = array();
$rating_array = array();
foreach ($coaches as $c){
$id_array[] = $c->getId();
$rating_array []= $c->getRating();
}
$this->debug_to_console($id_array[0]);
$combined = array_combine($id_array, $rating_array);
我仍然在 twig 中以相同的方式訪問陣列
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/475566.html
上一篇:symfony5表單型別定義標簽
