Я пытаюсь создать систему, в которой администратор создает шаблон проекта, а затем шаблоны для текста (ограничение по символам) и изображений (высота / ширина и расширение файла)
Когда он у меня есть шаблон, код работает отлично, и я даже могу загрузить несколько текстов / изображений только с одним шаблоном.
Но проблема возникает, когда я создаю второй шаблон текста / изображения, сам шаблон создается без проблем, но когда я хочу загрузить что-то, используя этот шаблон, хорошо ...
Проблема в этой части кода:
Вот полные коды:
Создание шаблоны:
Textos_DescripcionController. php (контроллер текстового шаблона):
public function store(Request $request){
$request->validate([
'nombre_texto' => ['required'],
'min' => ['required'],
'max' => ['required'],
]);
Textos_Descripcion::create($request->all());
$data_txt = DB::table('textos__descripcions')
->max('id');
$data_proyecto = $_POST['proyecto_id'];
//dd($data_proyecto);
Textos_Descripcion_Plantillas::insert(['proyecto_id' => $data_proyecto, 'texto_descripcion_id' => $data_txt]);
return redirect('/profile/' . auth()->user()->id);
}
TextosController. php (тексты сами по себе):
public function store(Request $request){
$plantilla_id = $_POST['id_descr'];
//Obtenemos ancho y alto de la plantilla
$min = DB::table('textos__descripcions')
->select('min')
->where('id' , '=', $plantilla_id)
->first();
$min_valor = $min->min;
$max = DB::table('textos__descripcions')
->select('max')
->where('id' , '=', $plantilla_id)
->first();
$max_valor = $max->max;
//ahora obtenemos los ancho y alto de la imagen
$largo = strlen($_POST["texto"]);
//ahora comparamos
if($min_valor > $largo || $max_valor < $largo){
echo "El texto no cumple con los estandares, la imagen debe ser desde " . $min->min . " hasta " . $max->max . "y tu texto tiene " . $largo . " caracteres ";
dd($largo);
return redirect('/profile/' . auth()->user()->id);
};
$paro = "Aqui toy";
echo "Succes, La imagen cumple con los estandares, la imagen debe ser desde " . $min->min . " hasta " . $max->max . "y tu texto tiene " . $largo . " caracteres ";
$request->validate([
'caption' => ['required'],
'texto' => ['required'],
'id_descr' => ['required'],
]);
//dd($paro);
Textos::create($request->all()); //
//Datos a tabla intermedia
$data_img = DB::table('textos__descripcion__plantillas')
->select('id')
->where('id' ,'=', $plantilla_id)
->first();
$data_img_valor = $data_img->id;
$id_proyecto = DB::table('proyectos')
->select('id')
->where('id','=', $data_img_valor)
->first();
$id_proyecto_valor = $id_proyecto->id; //I'm getting problems here
$id_txt = DB::table('textos')
->max('id');
Textos_Proyectos::insert(['proyectos_id' => $id_proyecto_valor , 'textos_id' => $id_txt]);
return redirect('/profile/' . auth()->user()->id);
}
Я использовал dd () прямо перед строкой кода, которая вызывает у меня проблемы, которые дали ноль. И для меня это не имеет смысла, потому что он работает с 1-м шаблоном, когда я использую dd (), я получаю идентификатор того, что я загружаю:
Почему это происходит?
Я прошу прощения, если вопрос слишком расплывчатый, если в нем отсутствуют детали, укажите его
РЕДАКТИРОВАТЬ: Я решил изменить first () для get () в строка, которая вызывает у меня проблемы, и я получил пустой массив