<?php
use App\Http\Controllers\PostController;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::controller(PostController::class)->group(function () {
Route::get('posts', 'index');
Route::post('posts', 'store')->name('posts.store');
});
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Post;
use Illuminate\Support\Facades\Validator;
class PostController extends Controller
{
/**
* Write code on Method
*
* @return response()
*/
public function index()
{
$posts = Post::get();
return view('posts', compact('posts'));
}
/**
* Write code on Method
*
* @return response()
*/
public function store(Request $request)
{
$validator = Validator::make($request->all(),
[
'title' => 'required|unique:posts',
'body' => 'required',
],[
'title.unique' => "Error 😒"
]);
if ($validator->fails()) {
return response()->json(['error' => $validator->errors()->all()]);
}
Post::create([
'title' => $request->title,
'body' => $request->body,
]);
return response()->json(['success' => 'Post created successfully.']);
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePostsTable extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up() {
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('body');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down() {
Schema::dropIfExists('posts');
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model {
use HasFactory;
/**
* Write code on Method
*
* @return response()
*/
protected $fillable = [
'title', 'body',
];
}
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PostController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::controller(PostController::class)->group(function () {
Route::get('posts', 'index');
Route::post('posts', 'store')->name('posts.store');
Route::put('posts/{id}', 'update')->name('posts.update');
});
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Tag extends Model
{
use HasFactory, SoftDeletes;
public $timestamps = false;
protected $table = 'tag';
protected $primaryKey = 'id';
protected $fillable = [
'tag_id',
'tag_name',
'created_at',
'create_user',
'updated_at',
'update_user',
'deleted_at',
'delete_user'
];
public function movies() {
return $this->belongsToMany(Movie::class, 'tag_movie');
}
}
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTagTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('tag', function (Blueprint $table) {
$table->increments('id');
$table->integer('tag_id')->unique();
$table->string('tag_name')->unique();
$table->dateTime('created_at')->nullable();
$table->string('create_user')->nullable();
$table->dateTime('updated_at')->nullable();
$table->string('update_user')->nullable();
$table->dateTime('deleted_at')->nullable();
$table->string('delete_user')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('tag');
}
}