繁体   English   中英

阅读Json和File Slim框架

[英]Read Json And File Slim Framework

我如何在苗条的框架中同时读取Json和File ?,我正在尝试这样做:

$entityManager = $this -> get(‘em’);
try{
        //Salvar foto
        $files = $request->getUploadedFiles();
        $newimage = $files['foto'];
        if ($newimage->getError() === UPLOAD_ERR_OK) {
            $uploadFileName = $newimage->getClientFilename();
            $type = $newimage->getClientMediaType();
            $name = uniqid('img-' . date('d-m-y') . '-');
            $name .= $newimage->getClientFilename();
            //  $imgs[] = array('url' => '/Photos/' . $name);
            //local server
            $newimage->moveTo("/home/citycare/imgs/$name");#/home/citycare/Imgs/User/$name
            //localdev
            $photoURL = "/home/citycare/public_html/Imgs/user/$name";#/home/citycare/Imgs/User/$name
        }

    //Instância da entidade Login
    $login = new Login();
    //recuperando o parâmetro objeto login do json


    $fk_login_cidadao = $request->getParam('fk_login_cidadao');
    //setando valores do objeto login
    $login ->setLogin($fk_login_cidadao['login']);
    $login ->setEmail($fk_login_cidadao['email']);
    $login ->setSenha($fk_login_cidadao['senha']);
    $login ->setStatus_login($fk_login_cidadao['status_login']);
    $login ->setAsAdministrador($fk_login_cidadao['administrador']);
    //salvando login
    $entityManager->persist($login);
    $entityManager->flush();
    //buscando login recém salvo
    $loginRepository = $entityManager->getRepository('App\Models\Entity\Login');
    //pegando login
    $loginCidadao = $loginRepository->find($login->getId_login());

    //Instância da entidade Cidadao
    $cidadao = new Cidadao();
    //setando valores do objeto cidadao
    $cidadao ->setFk_login_cidadao($loginCidadao);
    $cidadao->setNome($request->getParam('nome'));
    $cidadao->setSexo($request->getParam('sexo'));
    $cidadao ->setSobrenome($request->getParam('sobrenome'));
    $cidadao ->setEstado($request->getParam('estado'));
    $cidadao ->setCidade($request->getParam('cidade'));
    $cidadao ->setDir_foto_usuario($request->getParam($photoURL));
    $entityManager->persist($cidadao);
    $entityManager->flush();
    //retornando confirmação do evento completo
    $return = $response->withJson(["result" => true],201)->withHeader('Content-type', 'application/json');


} catch (Exception $ex){
    //código e mensagem do erro
    throw new Exception($ex->getMessage(), $ex->getCode());
}
return $return;

}

but I’m getting this {“message”:"An exception occurred while executing ‘INSERT INTO login (email, login, senha, status_login, administrador) VALUES (?, ?, ?, ?, ?)’ with params [null, null, “”, null, null]:\n\nSQLSTATE[23000]:

我正在从一个Android应用程序接收Json和File,现在我正在尝试使用内容类型的json帖子;

内容处置:表单数据; name =“ cidadao”

这是json:

内容类型:多部分/表单数据; charset = utf-8 {“ cidade”:“ Aiuaba”,“ estado”:“Ceará”,“ fk_login_cidadao”:{“ administrador”:false,“ email”:“ jvictor@jvictor.com”,“ login”:“ kikokiko“,” senha“:” 123123123“,” status_login“:true},” nome“:” jijo“,” sexo“:” Masculino“,” sobrenome“:” jdiasjdia“}

  1. 您的json密钥是cidadao。 $fk_login_cidadao = json_decode( $request->getParam('cidadao') ); 您需要对其进行解码。
  2. 解码后的字符串被解析为一个对象,您可以像这样访问它: $login->setLogin( $fk_login_cidadao->login );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM