Вставить входные данные и сравнить имеющиеся данные или нет в базе данных - PullRequest
0 голосов
/ 03 июня 2019

Вставить входные данные и сравнить имеющиеся данные или нет в базе данных

$health         = $request->input('health');
$tran           = $request->input('transportation');
$smoke          = $request->input('smoke');
$trial =   Trial::select(array('health' => $health, 'transportation' => $tran,'smoke' => $smoke));
//dd($trial);
if(!isset($trial)){
    return view('home');
}   else{
    return view('patient-home.trialresult',compact('health','tran','smoke'));
}

Ответы [ 4 ]

1 голос
/ 04 июня 2019
public function trialquestion(QuestionRequest $request)
    {
        //Validate Trial Question
        $validatedData = $request->validated();
        \App\Question::create($validatedData);

        $health = $request->input('health');
        $tran   = $request->input('transportation');
        $smoke  = $request->input('smoke');
        $trial  = Trial::where(array('health' => $health, 'transportation' => $tran, 'smoke' => $smoke))->get();
        return view('patient-home.trialresult', compact('trial', $trial));
    } 
0 голосов
/ 03 июня 2019

Заменить select на where и добавить ->get() в конце

$trial = Trial::where([
    ['health', '=', $health],
    ['transportation', '=', $tran,
    ['smoke', '=', $smoke]
])->get();

ИЛИ

$trial = Trial::where('health', $health)
    ->where('transportation', $tran)
    ->where('smoke', $smoke)
    ->get();

Примечание: если вы передаетемассив куда, это должен быть двумерный массив, иначе вы используете плавную цепочку where s

из laravel doc 5.8

0 голосов
/ 03 июня 2019

Попробуйте это:

$trialExists = Trial::where('health', $health) ->where('transportation', $tran) ->where('smoke', $smoke) ->exists();

А затем проверьте, существует ли оно следующим образом:

if($trialExists){ return view('home'); } else{ return view('patient-home.trialresult',compact('health','tran','smoke')); }

Это более чистый способ, поскольку вы только хотите проверить его существование.

0 голосов
/ 03 июня 2019

Некоторые изменения в вашем запросе,

$trial =   Trial::where(array('health' => $health, 'transportation' => $tran,'smoke' => $smoke))->get();

должны работать.

Заменено where на select, за которым следует ->get() в конце

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...