現在Laravelでフォームからリクエストがあった際に、
その値がDBの存在するかや、その他DB操作に関するものをまとめたdaoクラスのようなものを作成し、コントローラーで使用したいです。(Laravel標準装備のexistsが正しく動かないので.....)
実現方法
php
1$pdo = new PDO($dsn, $username, $password, $driver_options);
は使用せずDBクラスを使用します。
現在のコード
dao.php
php
1<?php 2 3use Illuminate\Support\Facades\DB; 4 5class dao 6{ 7 public function getId($requestedId) 8 { 9 $id = DB::select('select * from users where id = :id', $requestedId); 10 return $id; 11 } 12}
コントローラー
php
1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Http\Requests\BasicRequest; 7use App\Http\DBController\dao; 8 9class BasicController extends Controller 10{ 11 public function index() 12 { 13 return view('register.basic1'); 14 } 15 16 public function check(BasicRequest $request) 17 { 18 $dao = new dao(); 19 if (isste($dao->getId($request->id))) { 20 echo 1; 21 } 22 23 if (!isset($request->email)) { 24 $this->validate($request, [ 25 'email' => 'email', 26 ]); 27 } 28 29 return view('register.basic2'); 30 } 31}
現状
エラーが出ていないのので、そもそも全く読み込んでいない気がします。
またechoの中身も全くでません。
.envやdbの設定はとりあえずあっているという定でお願いします。
DBの中身(デモで一件だけ挿入しています)
このIDと同じIDが入力されるとはじきたいです。
sql
1create table users( 2 id varchar(100) primary key, 3 pass varchar(100) not null, 4 name varchar(100) not null, 5 kana varchar(100) not null, 6 sex varchar(50) not null, 7 tel varchar(100) not null, 8 email varchar(100) default null, 9 zip varchar(50) not null, 10 pref varchar(50) not null, 11 rest varchar(200) not null, 12 reason varchar(50) not null, 13 toeic int default null 14); 15 16insert into users(id, pass, name, kana, sex, tel, zip, pref, rest, reason, toeic) 17value ('kjlwn38', 'yuta1011', 'abcabc', 'エービーシー', '男性', '00000000', '000-0000', '大阪府', 'XX区XX町', 'インターネット広告', 880);

回答2件
あなたの回答
tips
プレビュー