0
私のプロジェクトでは、要素の配列を返す関数があります。これらの要素の配列はimplodeを使用して文字列に変換され、詳細ビューで呼び出されました。ここでは、私の詳細ビューは、1つの行にすべての要素を表示します。 それぞれの配列要素を異なる行の詳細ビューに表示する必要があります。Yii2配列要素を異なる行に詳細表示する
配列要素を返すMy関数。
public function getHazStatement(){
$codes = array();
$pLines = GhsHazStatements::find()->where(['haz_id' => $this->getHazID()])->all();
foreach ($pLines as $pLine){
$codes[] = $pLine->haz_statement;
//var_dump($codes); exit();
}
// var_dump(); exit();
return implode(', ', $codes);
}
public function getHazCode(){
$codes = array();
$pLines = GhsHazStatements::find()->where(['haz_id' => $this->getHazID()])->all();
foreach ($pLines as $pLine){
$codes[] = $pLine->haz_code;
//var_dump($codes); exit();
}
// var_dump(); exit();
return implode(', ', $codes);
}
マイ・ビュー・ファイル詳細ビュー。
[
'label' => $model->getHazCode(),
'value' => $model->getHazStatement(),
'options' => ['class' => 'table table-striped table-bordered detail-view','style'=> 'width:500px'],
],
私の出力は、次のとおりです。
私の出力では、私は彼らが詳細ビューに2つの異なる行になりたい...同じ行に2つの要素があることがわかります。どうすればこれを達成できますか?可能な解決策はありますか?
は、あなたのクラスでは、あなたに
正確な問題は何ですか?あなたは行配列を準備する方法を知らないのですか?または行配列をビューに渡す方法は?または、配列をビューの中のテーブル行としてレンダリングする方法はありますか? – oakymax
クラス内の 'GhsHazStatements'と' hasMany'関係を宣言することをお勧めします。この関係を使って 'GhsHazStatements []'を取得し、この配列をビューに渡します。それは非常に簡単です。そして、なぜあなたはcssクラス名(とスタイル!)をビューに渡す必要がありますか? – oakymax
私はすでにhasMany関係を宣言しています。私は複数の配列要素を一度に表示する同じ関数を持っています。そして、私は単一の行と表示..各配列要素を分割する必要があります。これは私の問題です。 –