Я застрял с той же проблемой в течение 2 дней.Сейчас я работаю над тем, как отобразить значение из базы данных, которое имеет отношение ко многим.
. Дело теперь мне нужно искать номер счета из таблицы счетов в базе данных, которую я сделал, но я застрял сОтображение значения, в котором значение счета № из таблицы счетов, имя коллекции из таблицы сбора, имя организации из таблицы организации соотносятся с идентификатором счета в таблице счета, относятся к таблице счета в идентификаторе счета и должны отображать полное имя (полное + последнее имя клиента)).
это мои счета Контроллер
public function actionLoadRequest($order_number)
{
if (!Yii::$app->request->isAjax) {
return $this->asJson([
"status" => false,
"message" => "Unknown request method.",
"data" => []
]);
}
$data = Bill::find()->where(['bill_no'=>$order_number])->one();
return $this->asJson([
"status" => true,
"message" => "",
"data" => $data
]);
}
это мое мнение
<template v-if="isLoading">
<tr>
<td colspan="7" class="center aligned">Processing...</td>
</tr>
</template>
<template v-else>
<template v-if="data.length > 0">
<tr v-for="$bill in data">
<td>{{bill.bill_no}}</td>
<td>{{bill.collection}}</td>
<td>{{bill.organization}}</td>
<td>{{account.first_name + " " + account.last_name}}</td>
<td>{{bill.currency + " " +
bill.Amount}}
</td>
</tr>
</template>
<template v-if="data.length === 0">
<tr>
<td colspan="7" class="center aligned">No request data.</td>
</tr>
</template>
</template>
это мой JavaScript
methods: {
loadRequest: function () {
console.log(this.bill_no);
if (this.bill_no === "") {
alert("Nothing to search. Please enter bill number.");
return;
}
let self = this;
self.isLoading = true;
$.ajax({
url: "<?= Url::to(["/admin/bills/load-request"]) ?>",
method: 'GET',
type: 'GET',
dataType: 'json',
data: {order_number: this.bill_no}
}).done(function (data) {
if (data.status) {
self.data = data.data;
} else {
alert(data.message);
self.data = [];
}
console.log(data);
self.isLoading = false;
}).fail(function (jqXHR) {
if (jqXHR.responseJSON) {
alert("Nothing to search. Please enter bill number.");
} else {
alert("Nothing to search. Please enter bill number.");
}
self.isLoading = false;
});
},
},
Редактировать -----------------------------
Я решил проблему с отображением данных из базы данных, изменив код в моем контроллере
$data = Bill::find()
->where(['bill_no'=>$bill_number])
->asArray()
->all();
но у меня проблема с отношениями, так как я все еще новичок с vue js.
мой взгляд