オーダーメイドアプリマッチングサイト

【Laravel5.8】Laravelで作ったS3を使うアプリをHerokuにデプロイしたら500Errorが出た話

Laravelで作ったアプリをHerokuにデプロイしたら500Errorが出た話ですが、AWS S3を使用している場合には、AWSのLaravelプロジェクト内の「.env」だけではなく、 Herokuのconfig側も設定が必要。 heroku config:set AWS_ACCESS_KEY_ID=AAAAAAAAAAAAAA AWS_SEC…

【Laravel5.8】jQuery UIのDatepickerを導入したい

jQuery UIのDatepicker導入には色々と方法がありますが、 jQuery “ $(”#datepicker“).datepicker is not a function” jQuery “ $ is not defined” などのエラーに悩まされることが多かった。以下のコードで起動確認しました。 <html lang="ja" dir="ltr"> <head> <meta charset="utf-8"> </meta></head></html>

【Laravel5.8】CSSCOというCSSアニメーションライブラリを取り入れたい

CDNの取り入れをしなければ、CSSCOを入れることはできませんでした。 <html lang="ja" dir="ltr"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/cssco/1.0.0/cssco.css"> ★ <title>@yield('title')</title> </style> </head> <body> <div id="test" class="animated bounce">bo…</div></body>

【Laravel5.8】orWhereとwhereHas、whereDoesntHaveを同時に使いたい

前回nekorokkekun.hatenablog.com に用いたwhereHasやwhereDoesntHaveですが、 今度は、キーワード検索機能に用いることになりました。機能としては、「キーワードが合致しつつ、リレーションのある別テーブルの値が2~4のものは表示しない」というもの。簡単…

【Laravel5.8】リレーション先のカラムも含めてレコードを絞り込みたい(whereHas/whereDoesntHave)

例えば以下のようなテーブルがあるとします。 マイグレーション Model.php リレーション先のカラムも含めてレコードを絞り込みたい Controller GitHub 参考 マイグレーション Jobsテーブル Schema::create('jobs', function (Blueprint $table) { $table->bi…

【Laravel5.8】テーブルデータをシンプルに絞り込みたい

シンプルな記述でテーブルデータを絞り込みたい、 複数条件を設けてテーブルデータを絞り込みたい、という場合には、 id)->where('status','!=',1)->first(); ?> のようにwhereをいくつも繋げることが可能。他にもOR検索も可能です。 id)->orWhere('status',…

【Laravel5.8】Creating default object from empty valueを解決したい

これまで幾度となく引っかかってきた Creating default object from empty value というエラー。ネットを見ると、stdClassをnewしたらPHP Warning: Creating default object from empty value inとなったときの対応方法 - Qiita PHP Warning: Creating defau…

【Laravel5.8】登録→確認画面→完了の3段階遷移でfileのsessionを保持したい

Laravel5.8において、 登録画面から入力してsubmit 確認画面でOKならsubmit テーブルにインサート完了・登録! という3段階遷移でfileのsessionを保持したいパターンがよくあります。 しかし、sessionに <input type="file" > のものを保存することは難しい… そのためCloud9とS3…

【Laravel5.8】UIkitのDate Pickerを導入したい

Laravel5.8にUIkitのDate Pickerを導入したい。ドキュメントを見ると以下のコードを追加するだけ…と書いていました。 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.1.6/js/uikit.min.js"></script> <form class="uk-form"> </form>

【Larave5.8】MySQL Work Benchを使ってHerokuのDBに接続したい

MySQL WorkBenchの使用方法は他のページにも載っているので割愛しますが、 2013 - Lost Connection to MySQL server during query Connectionの際にこんなエラーが。2013 - Lost Connection to MySQL server during query – Navicatこちらの記事によると、 m…

【Laravel5.8】リレーションメソッドを呼び出したい

Laravelでリレーションメソッドを呼び出したい時には以下のように書けばできる。 View //$userはAuth::user() $user->followsToUser()->where('user_id',$user_id)->first() Model User.php public function followsToUser() { return $this->hasMany('App\F…

【Laravel5.8】heroku logsでlogを吐き出させたい

herokuで500Errorが起こった。その際にターミナルから heroku logs と打ち込んだものの Error: Missing required flag: heroku とErrorが起こってしまい、肝心のlogを見ることができませんでした。 そこで heroku logs --tail --app old-book-store と打ち込…

【Laravel5.8】sessionを用いて確認画面を作りたい

投稿画面などを作る際には、確認画面を作成したい。 からsubmitしたデータを確認画面に引き継ぐにはsessionが役に立ちます。 Controller class SubscribeController extends Controller { public function confirmSubscribe(Request $request) { $subscribe …

【Laravel5.8】Form入力後の画面で更新すると再送信になるのを無くしたい

Form入力後の画面遷移の際に、Controllerから値を「compact」で渡していると、 遷移後の画面で更新を掛けた際に「再送信」になってしまいます。 そこで使用したいのが、 return redirect('hoge')->with('moge' => moge); という形。 実際に以下のような形式…

【Laravel5.8】inRandomOrderでDBからランダムに値を取得したい

こんな感じで いくつもの型の中に異なるレコードをランダムで配置したいという場合があります。 Controller $jobList = Job::inRandomOrder()->take(4)->get(); $jobList2 = Job::inRandomOrder()->take(4)->get(); $jobList3 = Job::inRandomOrder()->take(…

【Laravel5.8】SeederとFactoryを使ってダミーデータを作る

以前にもLaravelのSeederを使ってダミーデータをテーブルに挿入する方法を紹介しました。その際にはSeederに対してこのような書き方をしていました。 public function run() { $datas = [ ['category' => '小説'], ['category' => 'ノンフィクション'], ['ca…

【Laravel5.8】CSSフレームワーク「UIkit」を導入したい

今回制作していくオーダーメイドアプリマッチングサイトでは、CSSフレームワーク「UIkit」を使用していきます。HTMLに以下の雛形をセットするだけでOK。 <html> <head> <title>Title</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> </meta></meta></head></html>