Skip to content
Snippets Groups Projects
Commit 79ca841d authored by POINTUD AXEL's avatar POINTUD AXEL
Browse files

etape 2 : affichage de tous les commentaires

parent 3ed333db
Branches main
No related merge requests found
<?php
namespace App\Http\Controllers;
use App\Models\Comment;
use Illuminate\Http\Request;
class CommentController extends Controller
{
public function index() {
$comments = Comment::all();
return view('comment.index', [
'comments' => $comments
]);
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Comment extends Model
{
use HasFactory;
protected $fillable = [
'author',
'content'
];
}
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Comment>
*/
class CommentFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'author' => fake()->name(),
'content' => fake()->sentence(),
];
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->string('author');
$table->string('content');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('comments');
}
};
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
namespace Database\Seeders; namespace Database\Seeders;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents; // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use App\Models\Comment;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use App\Models\Post; use App\Models\Post;
...@@ -14,5 +16,6 @@ class DatabaseSeeder extends Seeder ...@@ -14,5 +16,6 @@ class DatabaseSeeder extends Seeder
public function run(): void public function run(): void
{ {
Post::factory(10)->create(); Post::factory(10)->create();
Comment::factory(5)->create();
} }
} }
@extends('base')
@section('title', 'Commentaires du blog')
@section('content')
<a class="text-yellow-500 text-4xl font-bold" href="{{ route('blog.index') }}">Retour</a>
<h1 class="text-red-500 font-bold text-4xl">Les commentaires</h1>
@empty($comments)
<p>no comments</p>
@else
<ul>
@foreach ($comments as $comment)
<li class="mb-6">
<p class="text-green-400 text-sm">{{ $comment->author }}</p>
<p> {{ $comment->content }}</p>
</li>
@endforeach
</ul>
@endempty
@endsection
<?php <?php
use App\Http\Controllers\BlogController; use App\Http\Controllers\BlogController;
use App\Http\Controllers\CommentController;
use App\Http\Controllers\ProfileController; use App\Http\Controllers\ProfileController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
...@@ -15,10 +16,18 @@ ...@@ -15,10 +16,18 @@
| |
*/ */
Route::prefix('/')->controller(BlogController::class)->group(function () { Route::prefix('/')->controller(BlogController::class)->group(function () {
Route::get('/', 'index')->name('blog.index'); Route::get('/', 'index')->name('blog.index');
Route::get('/{post}', 'show')->name('blog.show'); Route::get('/blog/{post}', 'show')->name('blog.show');
});
Route::prefix('/commentaires')->controller(CommentController::class)->group(function () {
Route::get('/', 'index')->name('comment.index');
}); });
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment