今回は、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エラー
参考記事
ログイン機能作成
・どれでも良いですが筆者は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回)
特にエラーはなかったので省略。
あとは
・Laravelで始めるTwitter風(Twitterクローン)のSNSツール開発チュートリアル(全6回)
通りにやれば実装できます。