How to define controller in laravel
<?php
namespace App\Http\Controllers;
use App\Models\bank;
use App\Models\logger;
use App\Models\bank_account;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class BankController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
$banks = bank::orderBy('id', 'DESC')->get();
// dd($banks);
return view('bank/index', compact('banks'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('bank/create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
// dd($request->all());
$bank = new bank();
$bank->beneficiary_name = $request->beneficiary_name;
$bank->beneficiary_address = $request->beneficiary_address;
$bank->bank_nickname = $request->bank_nickname;
$bank->bank_name = $request->bank_name;
$bank->bank_address = $request->bank_address;
$bank->zip_code = $request->zip_code;
$bank->country = $request->country;
$bank->swift_code = $request->swift_code;
$bank->remarks = $request->remarks;
$bank->company_name = $request->company_name;
$bank->company_email = $request->company_email;
$bank->prefix = $request->prefix;
$bank->declaration_content = $request->declaration_content;
$bank->instructions_title = $request->instructions_title;
$bank->instructions_content = $request->instructions_content;
if ($request->status == 'on') {
$bank->status = 1;
} else {
$bank->status = 0;
}
$file = $request->logo;
// dd($file);
if ($request->logo) {
$fileext = $file->getClientOriginalExtension();
if ($fileext == "jpg" || $fileext == "jpeg" || $fileext == "png") {
$filename = time() . "." . $fileext;
$file->move('public/images/', $filename);
$bank->logo = $filename;
} else {
return back()->with('error', 'Please upload Logo');
}
}
$bank->created_by = Auth::user()->id;
$bank->save();
$bankid = $bank->id;
$addmorecount = count($request->currency);
for ($i = 0; $i < $addmorecount; $i++) {
$bankaccount = new bank_account();
$bankaccount->bank_id = $bankid;
$bankaccount->currency = $request->currency[$i];
$bankaccount->account_number = $request->account_number[$i];
$bankaccount->nick_name = $request->nickname[$i];
$bankaccount->bank_charges = $request->bank_charges[$i];
$bankaccount->created_by = Auth::user()->id;
$bankaccount->save();
}
$logger = new logger();
$logger->itemid = $bankid;
$logger->module = "bank";
$logger->action = "add";
$logger->created_by = Auth::user()->id;
$logger->save();
return redirect('bank/index')->with('success', 'bank Added Successfully');
}
/**
* Display the specified resource.
*
* @param \App\Models\bank $bank
* @return \Illuminate\Http\Response
*/
public function show(bank $bank)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\bank $bank
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$bank = bank::findorFail($id);
// ->join('bank_accounts', 'bank_accounts.bank_id','=','banks.id')
// ->get();
// dd($bank);
$bankaccounts = bank_account::where('bank_id', $id)->get();
return view('bank/edit', compact('bank', 'bankaccounts'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\bank $bank
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
{
//dd($request->all());
$bank = bank::findorFail($request->id);
$bank->beneficiary_name = $request->beneficiary_name;
$bank->beneficiary_address = $request->beneficiary_address;
$bank->bank_nickname = $request->bank_nickname;
$bank->bank_name = $request->bank_name;
$bank->bank_address = $request->bank_address;
$bank->zip_code = $request->zip_code;
$bank->country = $request->country;
$bank->swift_code = $request->swift_code;
$bank->remarks = $request->remarks;
$bank->company_name = $request->company_name;
$bank->company_email = $request->company_email;
$bank->prefix = $request->prefix;
$bank->declaration_content = $request->declaration_content;
$bank->instructions_title = $request->instructions_title;
$bank->instructions_content = $request->instructions_content;
//dd($request->status);
if ($request->status == 'on') {
$bank->status = 1;
} else {
$bank->status = 0;
}
// $bank->status = 1;
$file = $request->logo;
// dd($file);
if ($request->logo) {
$fileext = $file->getClientOriginalExtension();
if ($fileext == "jpg" || $fileext == "jpeg" || $fileext == "png") {
$filename = time() . "." . $fileext;
$file->move('public/images/', $filename);
$bank->logo = $filename;
} else {
return back()->with('error', 'Please upload Logo');
}
}
$bank->update();
$bankid = $bank->id;
$logger = new logger();
$logger->itemid = $request->id;
$logger->module = "bank";
$logger->action = "update";
$logger->created_by = Auth::user()->id;
$logger->save();
if ($request->currency) {
$addmorecount = count($request->currency);
for ($i = 0; $i < $addmorecount; $i++) {
$bankaccount = new bank_account();
$bankaccount->bank_id = $bankid;
$bankaccount->currency = $request->currency[$i];
$bankaccount->account_number = $request->account_number[$i];
$bankaccount->nick_name = $request->nickname[$i];
$bankaccount->bank_charges = $request->bank_charges[$i];
$bankaccount->save();
}
}
return redirect('bank/index')->with('success', 'bank Added Successfully');
}
public function bankaccountupdate(Request $request)
{
//dd("hello");
$bankaccount = bank_account::findorFail($request->bankaccountid);
$bankaccount->currency = $request->currency;
$bankaccount->account_number = $request->account_number;
$bankaccount->nick_name = $request->nick_name;
$bankaccount->bank_charges = $request->bank_charges;
$bankaccount->save();
return back();
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\bank $bank
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$bank = bank::findorFail($id);
$bank->delete();
$logger = new logger();
$logger->itemid = $id;
$logger->module = "bank";
$logger->action = "delete";
$logger->created_by = Auth::user()->id;
$logger->save();
return redirect('bank/index')->with('success', 'Bank Deleted Successfully');
}
public function bankaccountdestroy($bankaccountid)
{
$bank_account = bank_account::findorFail($bankaccountid);
$bank_account->delete();
return back()->with('success', 'Bank Deleted Successfully');
}
}
Additional Reading
Post Views: 517