klasss Posted April 25, 2021 at 06:37 PM Report Share #622113 Posted April 25, 2021 at 06:37 PM (edited) Estou com um problema no Laravel onde tenho duas tabelas relacionadas. Tenho um formulario para a tabela1 (Capitulo) e um formulario para a tabela2 (documentacao) Consigo adicionar "Capitulos" sem interferir com a outra tabela. Mas quando tento adicionar dados no formulario documentacao dá erro e diz que o campo (capitulo) da tabela capitulo está vazio. Tenho o seguinte controller : public function insert(Request $request){ $tabela = new capitulo(); $tabela->capitulo = $request->capitulo; $itens = capitulo::where('capitulo', '=', $request->capitulo)->count(); if($itens > 0){ echo "<script language='javascript'> window.alert('Já existe um capitulo com esse nome!') </script>"; return view('gestao-documental'); //return redirect()->route('GestaoDocumental'); } $tabela->save(); return redirect()->route('documentacao.index'); } public function insert2(Request $request){ //-------------------------------------------------- $doc = new documentacao(); $doc->id_capitulo = $request->id_capitulo; $doc->nome_ficheiro = $request->nome_ficheiro; if ($request->file('ficheiro')->isValid()){ $request->file('ficheiro')->store('ficheiro/documentacao'); } //$doc->ficheiro = $request->file(ficheiro); $doc->versao = $request->versao; $doc->data_ultima_alteracao = $request->versao; //dd($request->file('ficheiro')->isValid()); $doc = documentacao::where('nome_ficheiro', '=', $request->nome_ficheiro)->count(); if($doc > 0){ echo "<script language='javascript'> window.alert('Já existe um capitulo com esse nome!') </script>"; return view('gestao-documental'); //return redirect()->route('GestaoDocumental'); } $doc->save(); return redirect()->route('GestaoDocumental'); } Neste momento o erro que ocorre é SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'capitulo' cannot be null (SQL: insert into `capitulos` (`capitulo`) values (?)) A tabela "principal" ´o titulo e dentro do titulo existem varios "documentos". Ao inserir nos documentos obriga que a tabela titulo esteja preenchida Obrigado a todos que me possam elucidar nesta situação. Edited April 27, 2021 at 11:41 AM by klasss Link to comment Share on other sites More sharing options...
klasss Posted May 2, 2021 at 07:06 PM Author Report Share #622186 Posted May 2, 2021 at 07:06 PM No debug aparece-me este erro : select count(*) as aggregate from capitulos where capitulo is null Link to comment Share on other sites More sharing options...
M6 Posted May 3, 2021 at 08:46 AM Report Share #622191 Posted May 3, 2021 at 08:46 AM Pelo que percebi estas à procura de um capítulo que não existe. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
klasss Posted May 3, 2021 at 09:41 AM Author Report Share #622192 Posted May 3, 2021 at 09:41 AM (edited) Já sei que parvoice estou a fazer.. <option selected>Escolher Capitulo</option> @foreach($capitulos as $cap) <option class="form-control" id="id_capitulo" name="id_capitulo"> {{$cap->capitulo}}</option> @endforeach </select> Neste campo estou a pedir para selecionar o capitulo e a tentar guardar o ID. Tinha isto apontado e esqueci-me de tentar solucionar. Existe alguma forma de ir buscar o ID (para guardar na BD) e o nome para o utilizador selecionar ? Além desse problema, tenho um outro relativamente ao foreach, onde este campo não é enviado pelo form. Edited May 3, 2021 at 02:32 PM by klasss Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now