snsツール作成【Laravel】

Pocket

今回は、snsツールを下記サイト参考に作成します。

内容としては、エラーや行き詰った箇所だけをピックアップします。

※Laravel Framework 7.3.0の環境で行います。

本記事でやること

1. SQLSTATE[42000]エラーの対応

2. str_random()関数の書き換え

3. php artisan make:authを使ったログイン機能実装

4.パラメーターの記述修正

〇データーベース設計(第1回)

マイグレーション実行

php artisan migrate

sqlのエラー

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_screen_name_unique`(`screen_name`))

参考記事

Laravel5.4以上、MySQL5.7.7未満 でusersテーブルのマイグレーションを実行すると Syntax error が発生する

config/database.php編集

'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',

下記コマンドでデータベース内のテーブルを削除したうえで、再度マイグレーションを実行

php artisan migrate:fresh

〇シーダーと認証(第2回)

▷シーダー実行

php artisan db:seed

sqlのエラー

Call to undefined function str_random()

str_random()をStr::random()に変更し、再度シーダーを実行。

▷認証

ログイン機能作成

php artisan make:auth

Laravelエラー

Command “make:auth” is not defined.

参考記事

・Laravel 6系でmake:authを使う方法

ログイン機能作成

・どれでも良いですが筆者はboostrapを使用します。

composer require laravel/ui --dev
php artisan ui bootstrap --auth
npm install
npm run dev

トップページ確認

ログインと登録ボタンが設置させている

〇ユーザーとフォロー機能(第3回)

記述エラー

Missing required parameters for [Route: follow] [URI: users/{user}/follow]. (View: C:\xampp\htdocs\twitter\resources\views\users\index.blade.php)

users/index.blade.php

‘id’ => $user->idを$user->idに修正

記述エラー

Missing required parameters for [Route: follow] [URI: users/{user}/follow]. (View: C:\xampp\htdocs\twitter\resources\views\users\show.blade.php)

users/show.blade.php

‘id’ => $user->idを$user->idに修正

記述エラー

Missing required parameters for [Route: tweets.update] [URI: tweets/{tweet}]. (View: C:\xampp\htdocs\twitter\resources\views\tweets\edit.blade.php)

tweets/edit.blade.php

‘tweets’ => $tweetsを$tweets->idに修正

〇他(第4,5,6回)

特にエラーはなかったので省略。

あとは