Database 如何在保存到sqlite数据库之前匹配Laravel match中的输入值
我试图使$input data的值在保存输入和响应“its a match be give”之前首先与数据库中用户表中的Pull数组值之一匹配。我试图把这些检查放在我正在制作的API上。我对laravel API还不熟悉,我会感谢您的帮助。多谢各位Database 如何在保存到sqlite数据库之前匹配Laravel match中的输入值,database,laravel,try-catch,response,Database,Laravel,Try Catch,Response,我试图使$input data的值在保存输入和响应“its a match be give”之前首先与数据库中用户表中的Pull数组值之一匹配。我试图把这些检查放在我正在制作的API上。我对laravel API还不熟悉,我会感谢您的帮助。多谢各位 public function create(Request $request) { // $this->validate($request, [ 'inputed_number'
public function create(Request $request)
{
//
$this->validate($request, [
'inputed_number' => 'required|unique:users',
'user_id' => 'required'
]);
try {
Auth::user();
$phonenumber = new PhoneNumber();
$phonenumber->inputed_number = $request->inputed_number;
$phonenumber->user_id = $request->user_id;
if($this->user->phonenumber()->save($phoneuumber)){
$user = User::all();
$input = $request->only('inputed_number');
$user_number = $user->pluck('phone');
foreach ($input as $phone) {
if ($phone !== $user_number) {
return response()->json([
'success' => false,
'message' => 'Invalid number',
'data' => $phone,
], Response::HTTP_UNAUTHORIZED);
}
return response()->json([
'success' => true,
'message' => 'Its a match!!',
'data' => $phone,
]);
}
}
} catch (\Exception $e) {
return response()->json([
'success' => false,
'message' => 'You have already inputted this number.',
], Response::HTTP_UNAUTHORIZED);
}
}
只需使用Auth:user获取整个用户对象,不需要pull语句,您可以通过用户对象直接访问值
$user = Auth:user();
$input = $request->only('inputed_number');
if($user->phone !== $input ) {
//perform this code
}
如果要匹配所有用户的电话号码
//get all users where phone number matches
$users = User::where('phone', $input)->get();
// iterate through $users rows
foreach ($users as $user) {
///do some thing
}
我想将输入的电话号码与数据库中已有的所有电话号码进行匹配。这就是为什么我提取了电话数组,以便可以将其与数组列表进行匹配。我已经尝试了此操作,但它不起作用。您在$users对象中得到了什么,是否有任何错误。请尝试此$users=User::where('phone',“=”,$input)->get();尝试$request->input\u number