API не возвращает последние данные в laravel 8Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 API не возвращает последние данные в laravel 8

Сообщение Anonymous »

Я использую Laravel 8 для своего приложения Flutter. При этом API не возвращает последние данные после редактирования/обновления. Даже на другом API для получения этих данных.
Чтобы добавить данные, я использую следующий код:

Код: Выделить всё

$input = $request->all();
$validation = Validator::make($input, [
// 'image' => 'required|image|max:2048',
'user_id' => 'required',
'team_name' => 'required',
'description' => 'required',
'status' => 'required',
'members' => 'required'
]);

if ($validation->fails()) {
return response()->json([
'success' => false,
'data' => '',
'message' => implode(',\n', $validation->errors()->all()),
]);
exit();
}

if (isset($request['team_name']) && !empty($request['members']) && !empty($request['description']) && !empty($request['status'])) {
$team_url = strtolower(str_replace(' ', '_', $request['team_name']));
$check_record = TeamModel::where('team_name', $request['team_name'])->count();
if ($check_record > 0) {
/* means already exists */
return response()->json([
'success' => false,
'message' => 'Team name already exists',
'data' => []
], 200);
die();
}
}

// $name = $request->file('image')->getClientOriginalName();
$teamModel = new TeamModel();

// uploading image starts
if ($request->hasFile('image')) {

$fileName = 'teams-' . time() . '.' . $request->file('image')->getClientOriginalExtension();
$path = $request->file('image')->move('images', $fileName);
$teamModel->image = 'images/' . $fileName;
}

// uploading image ends

// $teamModel->image = 'images/';

$teamModel->team_name = $input['team_name'];
$teamModel->team_url = Str::slug($request['team_name'], '_');
$teamModel->description = $input['description'];
$teamModel->created_by = $input['user_id'];
$teamModel->status = $input['status'];

if ($teamModel->save()) {

$members  = array($input['user_id']);
// $request['members']['owner'] = 1;
if (!empty($request['members'])) {
$members = array_merge($members, $input['members']);
}
//Add Member
if (!empty($members)) {
foreach ($members as $mem) {
$isSelf = $input['user_id'] == $mem ? 1 : 0;
// $owner = auth()->user()->id == $mem ? 1 : 0;
$arrData = [
'team_id' => $teamModel->id,
'user_id' => $mem,
'request_by' => $input['user_id'],
'is_accepted' => $isSelf,
'seen_status' => $isSelf,
'owner' => $isSelf
];
DB::table('team_members')->insert($arrData);
}
}

// $teamModel->image = $base_url . $teamModel->image;
if ($teamModel->image != null || !empty($teamModel->image))
$teamModel->image = $base_url .  $teamModel->image;
else
$teamModel->image = '';

return response()->json([
'success' => true,
'message' => 'Team created successfully',
'data' => $teamModel
], 200);
} else {
return response()->json([
'success' => true,
'message' => 'Unable to create team! Please try again.',
'data' => $teamModel
], 200);
}
Чтобы обновить код:

Код: Выделить всё

 $id = $input['id'];

if (!isset($input['members'])) {
return response()->json([
'success' => false,
'message' => 'Please select team members first!',
'data' => []
], 200);
}

$input = $request->all();

$validation = Validator::make($input, [
// 'image' => 'required|image|max:2048',
'id' => 'required',
'user_id' => 'required',
'team_name' => 'required',
'description' => 'required',
'status' => 'required',
'members' => 'required'
]);

if ($validation->fails()) {
return response()->json([
'success' => false,
'data' => '',
'message' => implode(',\n', $validation->errors()->all()),
]);
exit();
}

if (isset($request['team_name']) && !empty($request['members']) && !empty($request['description']) && !empty($request['status'])) {
$team_url = strtolower(str_replace(' ', '_', $request['team_name']));
$check_record = TeamModel::where('team_name', $request['team_name'])->count();
if ($check_record > 1) {
/* means already exists */
return response()->json([
'success' => false,
'message' => 'Team name already exists',
'data' => []
], 200);
die();
}
}

$teamModel = TeamModel::find($id);

$teamModel->team_name = $request['team_name'];

$teamModel->description = $request['description'];
$teamModel->team_url = Str::slug($request['team_name'], '_');

// uploading image starts
if ($request->hasFile('image')) {
if (file_exists($teamModel->image)) {
unlink($teamModel->image);
}

$fileName = 'teams-' . time() . '.' . $request->file('image')->getClientOriginalExtension();
$path = $request->file('image')->move('images', $fileName);
$teamModel->image = 'images/' . $fileName;
}

// uploading image ends

$teamModel->status = $request['status'];
if ($teamModel->save()) {

//Add Member
$members = $input['members'];
if (!empty($members)) {
foreach ($members as $mem) {
$isSelf = $input['user_id'] == $mem ? 1 : 0;
$arrData = [
'team_id' => $teamModel->id,
'user_id' => $mem,
'request_by' => $input['user_id'],
'is_accepted' => $isSelf,
'seen_status' => $isSelf
];
if (!team_member($teamModel->id, $mem))
DB::table('team_members')->insert($arrData);
}
}

if ($teamModel->image != null || !empty($teamModel->image))
$teamModel->image = $base_url .  $teamModel->image;
else
$teamModel->image = '';

return response()->json([
'success' => true,
'message' => 'Team updated successfully',
'data' => $teamModel
], 200);
} else {

return response()->json([
'success' => false,
'message' => 'Unable to update team! please try again.',
'data' => []
], 200);
}

Я использую следующий способ возврата ответа:

Код: Выделить всё

return response()->json([
'success' => true,
'message' => 'Success message',
'data' => $data
], 200);
Я изучил множество статей и попробовал очистить кеш с помощью команд, но ни одна из них не помогла. Я не могу понять, почему у него слишком много кеша даже в формате JSON.

Подробнее здесь: https://stackoverflow.com/questions/760 ... -laravel-8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»