募集終了

【Laravel 8】登録済みユーザー別のコメント抽出合計を表示させたいです。

PHP

投稿日:2022年04月17日 21:57

メンターの報酬に合わせる

【Laravel 8】会員制掲示板の中のmyfoodBlade.phpにおいて投稿内容にある「おいしい」や「まずい」などのキーワードの合計を取得して表示できていますが、
foodsBlade.phpにてログインしたユーザーのみならず、登録認証済みの全員のコメント抽出合計を一覧に表示するのにSQLSTATE[HY093]: Invalid parameter number
というエラーになってしまいました。どこを修正すればよいでしょうか。
よろしくお願いいたします。

Web.php
Route::get('/myfood', 'HomeController@myfood')->name('home.myfood');
Route::get('/foods', 'HomeController@foods')->name('home.foods');

HomeController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;
use App\Models\Post;
use App\Models\Comment;
use Auth;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\DB;
class HomeController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function myfood()
{
$user = auth()->user()->id;
$myusers=User::where('id', $user)->get();
$PostsOisiCount = Post::where('user_id', $user)->where(function($query) {$query->where('body', 'like', '%delicious%')
->orWhere('body', 'like', '%bad%');})->count();
$PostsCount = Post::where('user_id', $user)->count();
return view('myfood', compact('user', 'myusers', 'PostsOisiCount', 'PostsCount'));
}
public function foods()
{
$users = User::all();
$PostsOisiCount = Post::where('body', 'like', '%delicious%')
->orWhere('body', 'like', '%bad%')
->count();
$PostsCount = Post::count();
return view('foods', compact('users', 'PostsOisiCount', 'PostsCount'));
}
}

myfoodBlade.php
<table>
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Results</th>
</tr>
</thead>
<tbody>
@foreach($myusers as $myuser)
<tr>
<th>{{$myuser->id}}</th>
<td>{{$myuser->name}}</td>
<td>
($PostsOisiCount / $PostsCount ) * 100
</td>
</tr>
@endforeach
</tbody>
</table>

foodsBlade.php
<table>
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Results</th>
</tr>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<th>{{$user->id}}</th>
<td>{{$user->name}}</td>
<td>
($PostsOisiCount / $PostsCount ) * 100
</td>
</tr>
@endforeach
</tbody>
</table>
既読0

コメント


メッセージはまだありません

募集終了

回答可能なメンター

まだいません。