Skip to main content

Command Palette

Search for a command to run...

ক্লাস নং-৫||crud operation,লারাভেল নোটিফিকেশন প্যাকেজ . ==========================================

Updated
3 min read
ক্লাস নং-৫||crud operation,লারাভেল নোটিফিকেশন প্যাকেজ .
==========================================
R

Hi there, I am rakibul islam you can call me rakib, i have completed my graduation from chongqing university of technology,chongqing china department of cse & i really love to write blog & share

\==>লারাভেল এর crud operation,লারাভেল নোটিফিকেশন প্যাকেজ এর আজকের ক্লাস ইডিট এবং ডিলিট নিয়ে , এবং form ভেলিডেশন অর্থাৎ আপনার ইনপুট ফিল্ডে কোন ডেটা না দিয়ে সাবমিট করলে সেটি ইউজার কে ইরর দেখাবে।

***প্রথমেই আপনি আপনার ব্যাসিক ভাবে লারাভেল insatall করে নেবেন,stater kit download করে নিবেন,ডেটাবেইজ কনফিগারেশন করে নিবেন।

https://php-flasher.io/docs/installation/

এই ওয়েবসাইটে গিয়ে আপনি আপনার প্রজেক্ট এর জন্য laravel এর command টা কপি করে আপনার কমান্ড প্রমট এ রান করবেন।

composer require php-flasher/flasher-laravel

প্রজেক্ট সেটাপ হয়ে গেলে আপনি টেস্ট করে দেখতে পারেন আপনার সাইটে ফ্লাশার চলছে কি না ।এর জন্য

$flasher->addSuccess('Post created Successfully');

এই কোড টি ফাংশনের মধ্যে দেবেন এবং function এর parameter এ FlasherInterface $flasher এটা দেবেন।

এবার আসি গতক্লাসের create,read পর্যন্ত প্রোজেক্ট নিয়ে।এবং গতক্লাসের টাস্ক ছিল অন্য একটি রাউট তৈরি করে dashboard এর ডেটা গুলোকে posts route

এ পাঠানোর ।

আজকের ক্লাসে প্রথমেই আপনাকে edit-post.blade.php file টা খুলতে হবে এবং Edit এর জন্য title and content এর কোড লিখতে হবে যা createed file এই আছে আপনি বুঝে বুঝে কপি করতে পারেন অথবা আজকের ক্লাসের ভিডিও দেখেও সেটি করতে পারেন।

রাউট তৈরি করাঃ

==========

আপনার web.php file এ গিয়ে সুন্দর করে আপনার edit-post.blade.php file এর জন্য একটি রাউট তৈরি করবেন।এবং অবশ্যই এটি get route হবে

Route::get('/edit-post/{id}', [PostController::class, 'edit'])->name('edit-post');

\=>{id} এই id টা স্পেসিফিক ভাবে যেই পোস্ট ইডিট করবেন সেখানে যাবে ।এবং এখানেই আপডেট এর জন্য এবং ডিলিট এর জন্য রাউট তৈরি করবেন।

Route::post('/update-post/{id}', [PostController::class, 'update'])->name('update-post');

Route::post('/delete-post/{id}', [PostController::class, 'delete'])->name('delete-post');

ব্যাস এবার আপনি আপনার POSTCONTROLLER E গিয়ে সুন্দর মত আপনার EDIT UPDATE AND DELETE FUNCTION টা লিখে ফেলুন।

//EDIT FUNCTION

public function edit($id, FlasherInterface $flasher){

$post = Post::find($id );

//alternative solution for warning to user

if(empty($post)){

$flasher->addError('Post not found');

return redirect()->route('dashboard');

}

return view('posts.edit-post',[

'post' =>$post,

]);

}

UPDATE FUNCTION

\================

public function update($id,Request $request, FlasherInterface $flasher){

$post = Post::findOrFail($id);

//form validation

$request->validate([

'title' =>'required',

'content' => 'required',

]);

$post->title = $request->title;

$post->content = $request->content;

$post->save();

$flasher->addSuccess('Post Updated Successfully');

return redirect()->route('dashboard');

}

DELETE FUNCTION

\===============

public function delete($id,Request $request, FlasherInterface $flasher){

$post = Post::findOrFail($id);

$post->delete();

$flasher->addSuccess('Post delete Successfully');

return redirect()->route('dashboard');

}

এখানে একটা বিষয় post খুজে পেয়েছে কি না এজন্য shoortcut হিসেবে

findOrFail($id); এটা ব্যাবহার করা যেতে পারে অথবা flasher দিয়ে।

এরপর আপনার EDIT-POST.BLADE.PHP FILE এর মধ্যে অবশ্যই আপনি
  • ১।মেথড দেবেন,

  • ২।$post->title,$post->id টা দেবেন।

  • {{ route('update-post',$post->id) }}

আর ডিলিট এর জন্য আপনি এই ফর্ম টা ব্যাবহার করতে পারেন।

<form method="POST" action="{{ route('delete-post',$post->id)}}">

@csrf

<button class="ml-2 text-white text-xs bg-red-500 rounded px-4">delete</button>

</form>

বিঃদ্রঃ-আপনারা অনেকেই একটা ভূল করতেছেন সেটা হল যদি কোন ক্লাস অন্য কোন ফাইলের মধ্যে ব্যাবহার করি তবে সেই ক্লাস টা আমরা সবার উপরে import করে নেব।

অনেকের সাজেশন আসে IMPORT এর অনেকের আসে না।যাদের আসে না তারা কোড করে লিখে নেবেন।

\==>এই ক্লাস IMPORT করা নিয়ে যদি কোন প্রশ্ন থাকে অবশ্যই জানাবেন একটা গুছিয়ে আর্টিকেল লিখব।

আর হ্যা অবশ্যই ।

  • php artisan serve

  • npm run dev

এই দুই টা ভিন্ন ভিন্ন কমান্ড ট্যাবে চালু করে রাখবেন

npm run dev-->এটা আপনার css কে বাইন্ড করে ফ্রন্টেন্ড এ দেখাবে

php artisan serve-->এটা আপনার ব্রাউজারে প্রজেক্ট রান করবে।

best of luck

M

অনেক উপকারী লেখা। ধন্যবাদ।

L

ক্লাসের ভিডিওগুলো দেখার পর, লেকচারের আলোচনার বিষয়গুলো এতো সুন্দরভাবে পাওয়া সত্যিই অনেক অনেক উপকারী। ধন্যবাদ

1
R

শুনে ভাল লাগলো আপনাদের উপকার হচ্ছে। চেষ্টা করছি ইন শা আল্লাহ সব গুলো ব্লগ পাবেন।

R

nc blog about crud operation..

1
R

thank you

More from this blog

We discuss basic routing

বেসিক রাউটিং সফটওয়্যার আর্কিটেকচারে রাউট হচ্ছে মৌলিক উপাদান(Basic Component). রাউট URL(URL = Uniform Resource Locator) থেকে অনুরোধ গ্রহণ করে এবং এপ্লিকেশনকে রিসোর্সের জন্য নির্দেশনা প্রদান করে। লারাভেলের রাউট সমূহ একই সাথে সুবিন্যস্ত করে রাখার জন্য r...

Jun 1, 20233 min read

Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

এখন কোডিংয়ের স্পীড হবে রকেটের গতি যদি আপনি ব্লগটি পড়েন এবং শর্টকাট ব্যবহার করেন তাহলে চলুন শুরু করি। Visual Studio Code এডিটর কি-বোর্ড শর্টকার্টঃ MAC ও WINDOWS এর জন্য আলাদা কি-বোর্ড শর্টকাট নিচে দেওয়া হল- Visual Studio Code এর কমান্ড পেলেট কিভাবে ওপ...

Jun 1, 20233 min read
Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

WordPress Support Engineer Input Field And Form

আজকে আমরা আলোচনা করব আমাদের WordPress Support Engineer Course এর ক্লাস ২ নিয়ে এবং আমাদের টপিক হলো html input fields. ইনপুট ফিল্ডে বিভিন্ন রকম টাইপ রয়েছে এর মধ্যে default html,html-5,iput type="text" ইত্যাদি। তো চলুন শুরু করি ।প্রথমেই আমরা আলোচনা করব ...

May 7, 20233 min read

Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস

সবার প্রথমে আমাদের একটা Directory বানাতে হবে। আপনার Project এর নাম দিয়ে একটি Directory বানিয়ে ফেলুন। এরপর যেকোনো একটা Terminal ব্যবহার করে এই Directory তে ঢুকুন। npm install -D tailwindcss autoprefixer vite এই কমান্ড Terminal-এ দিবো। এক্সট্রা হিসেবে...

Apr 3, 20232 min read
Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস
S

Shikhun Blog

96 posts