我又遇到了Laravel和Vue无法解决的其他问题,我与Vue的合作非常新,也许这就是为什么我遇到很多困难的原因。 这是问题所在: 在Vue视图中,我得到一个会改变的值,直到一切正常为止,但问题是,我必须将此值传递给控制器,以便我可以进行其他一些操作,这是代码:
这是触发值更改的选择:
<b-col md="4" sm="12">
<b-form-group label="Tipo: " label-for="tipo">
<input type="hidden" v-model="maintenance.typeId" name="tipoId" id="tipoId">
<b-form-select v-model="selecionado" id="tipo" name="tipo" :options="options" :readonly="mode === 'remove'" @change="selecionar"></b-form-select>
</b-form-group>
</b-col>
该函数将更改值并将其理论上传递给控制器:
selecionar(value){
const kind = this.selecionado
const url = this.rotatipoautcomp
axios.get(`${url}?${kind}=` + kind, this.manutencoes).then(res => {
this.manutencoes = res.data
console.log(`${url}?${kind}=`)
console.log(res.data)
})
}
这是控制器中的功能:
public function axiosServices()
{
$tipo = Input::get('selecionado');
$tipoSelection = TecManutencaoTipo::where('tipo', '=', (string)$tipo);
\Log::info($tipoSelection);
$tiposSelected = TecManutencaoTipo::select('manutencao AS value')
->where('tipo', '=', $tipoSelection->tipo)
->get();
$dados = [];
if($tiposSelected) {
$dados = $tiposSelected;
//\Log::info($tipo);
return $dados;
} else {
return response()->json($dados, 422);
}
}
我在这种情况下的路线
Route::get('axios-tipo', ['as'=>'tecelagem.manutencao.cadastro.axios-tipo', 'uses' => 'TecelagemManutencaoController@axiosServices']);
我想要做的就是获取此值,传递给控制器并进行选择,以便我可以填充此值:
<b-col md="4" sm="12">
<b-form-group label="Manutenção: " label-for="manutencao">
<input type="hidden" v-model="maintenance.manutencao" name="manutencaoId" id="manutencaoId">
<!--<b-form-input id="manutencao" placeholder="Informe o nome da manutenção..." :readonly="mode === 'remove'" />-->
<b-form-input list="input-list1" id="manutencao" placeholder="Informe o nome da manutenção..." :readonly="mode === 'remove'"></b-form-input>
<b-form-datalist id="input-list1" :options="manutencoes"></b-form-datalist>
</b-form-group>
</b-col>
我得到的错误是:
获取http://localhost:8000/portal-cambos/tecelagem/manutencao/cadastro/axios-tipo?0=0 500(内部服务器错误)
在laravel日志中,我得到了:
laravel.ERROR:Illuminate \ Database \ Eloquent \ Builder类的对象无法转换为字符串
正如我之前说过的,我很新,不知道我到底在做什么错。
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
@DerekPollard,感谢您的帮助,弄清楚这里出了什么问题...
更改行
axios.get(`${url}?{kind}=` + kind, this.manutencoes).then(res => {
针对:
axios.get(`${url}?tipo=` + kind, this.manutencoes).then(res => {
现在控制器中的功能是:
public function axiosServices()
{
$tipo = Input::get('tipo');
//dd($tipo);
//return response()->json($tipo);
//\Log::info($tipo);
//$tipoSelection = $this->TecManutencaoTipoM->where('tipo', '=', $tipo)->get();
//return response()->json($tipoSelection);
//\Log::info($tipoSelection);
$tiposSelected = TecManutencaoTipo::select('manutencao AS value')
->where('tipo', '=', $tipo)
->get();
$dados = [];
if($tiposSelected) {
$dados = $tiposSelected;
//\Log::info($tipo);
return $dados;
} else {
//return response()->json(['dados' => $dados], 422);
return response()->json($dados, 422);
}
}
正在按预期的方式工作。 再次感谢。