當我在 Laravel 控制器中輸入硬編碼 id 時,我能夠獲取資料,但是當我在文本框資料中輸入相同的值時,我收到錯誤。
working Laravel controller 它顯示了 id 123 的值:
public function getdata(Request $request)
{
$files = Files::where('file_code','=','123')->first();
return response()->json([
'files'=> $files,
], 200);
}
不作業的 Laravel 控制器:
public function getdata(Request $request)
{
$file_code=Files::find($request->id);
$files = Files::where($file_code,'=','file_code')->get();
return response()->json([
'files'=> $files,
], 200);
}
日志中的錯誤:
Column not found: 1054 Unknown column '' in 'where clause' (SQL: select * from `files` where `` = file_code)
看法:
<input v-model="state.file_code" type="text" placeholder="Enter file code">
<textarea v-model="state.files.text_data" placeholder="text appear here "></textarea>
<button @click="getdata" class="bg-green-800 rounded p-2 mb-5 text-white " >RECEIVE</button>
獲取功能:
function getdata(){
axios.get('http://127.0.0.1:8000/api/get-data',{
id: state.file_code,
})
.then(response=>{
state.files=response.data.files;
});
}
路線:
Route::get('get-data',[FilesController::class,'getdata']);
uj5u.com熱心網友回復:
你的問題在這里:
路線:
Route::get('get-data',[FilesController::class,'getdata']);
控制器:
$file_code=Files::find($request->id);
$files = Files::where($file_code,'=','file_code')->get();
您的路線未指定{id}變數,因此$request->id在您的控制器中將始終為null.
然后,您嘗試使用 獲取一個Files物件Files::find(null),該物件也將始終回傳null,即$file_codeis null。
然后你正在尋找另一個Files帶有Files::where(null,'=','file_code')->get();. 此行將回傳或列Files所在的所有物件。null"""file_code"
您可能想要做的是:
路線:
Route::get('get-data/{id}',[FilesController::class,'getdata']);
控制器:
$files = Files::find($request->id);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/372754.html
