ساخت پترن و اعمال opacity در اندروید با کاتلین
ساخت پترن و اعمال opacity در اندروید با کاتلین
2019-05-08
عملیات Real Time CRUD با استفاده از فایربیس گوگل در لاراول
عملیات Real Time CRUD با استفاده از فایربیس گوگل در لاراول
2019-05-11
دریافت id آخرین رکورد درج شده در جدول در لاراول 5.8

دریافت id آخرین رکورد درج شده در جدول در لاراول 5.8

دریافت id آخرین رکورد درج شده در جدول در لاراول 5.8 ، در این پست از تجاری اپ ما به شما نحوه گرفتن id آخرین رکورد اضافه شده در جدول در لاراول 5.8 را آموزش خواهیم داد.در پروژه هایی که با فریمورک لاراول انجام می دهیم جاهای زیادی وجود دارد که ما نیاز داریم id آخرین رکورد درج شده در جدول را بگیریم ، ما در این پست با 4 روش مختلف به شما نحوه گرفتن id آخرین رکورد اضافه شده را در لاراول 5.8 آموزش می دهیم.برای یادگیری این مبحث کافیست مراحل زیر را دنبال کنید.با ما همراه باشید:

دریافت id آخرین رکورد اضافه شده در جدول در لاراول 5.8

  1. نصب لاراول و پیکربندی اولیه
  2. ایجاد مدل
  3. ایجاد کنترلر
  4. ایجاد فایل View
  5. ایجاد Route

نصب لاراول و پیکربندی اولیه

برای هر پروژه لاراول ما نیاز داریم که لاراول را نصب کنیم. به همین دلیل ما یک مقاله در رابطه با چگونگی نصب و پیکربندی اولیه لاراول آماده کرده ایم که می توانید از اینجا ان را مشاهده نمایید : آموزش نصب لاراول به همراه تنظیمات اولیه

ایجاد مدل

در این مرحله ما باید یک مدل ایجاد کنیم زیرا دو تا از روش های ما برای گرفتن Id آخرین رکورد اضافه شده در جدول در لاراول نیاز به مدل دارند.بنابراین برای ایجاد یک مدل با نام LastId دستور زیر را اجرا کنید:

php artisan make:model LastId -m

بعد از ایجاد فایل مدل ، ما باید مانند زیر نام ستون هایی از جدول که می توانیم بر روی آنها عملیات مختلف را انجام دهیم را تعریف کنیم.

app/LastId.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class LastId extends Model
{
    protected $fillable = [
        'first_name', 'last_name'
    ];
}

دستوری که در بالا برای ایجاد مدل اجرا کردیم بخاطر پارامتر (-m) که جلوی آن قرار دادیم همچنین یک فایل migration در پوشه database/migrations برای ما ایجاد می کند.در این فایل ما باید باید مانند زیر نام ستون های جدول به همراه نوع داده آنها را تعریف کنیم :

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateLastIdsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('last_ids', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('first_name');
            $table->string('last_name');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('last_ids');
    }
}

بعد از تعریف کردن جدول با اجرای دستور زیر migrate را انجام می دهیم تا جدول مورد نظر (last_ids) در پایگاه داده ما ایجاد شود:

php artisan migrate

ایجاد کنترلر

در لاراول برای مدیریت درخواست http ما باید کنترلر ایجاد کنیم.دستور زیر را برای ایجاد یک کنترلر به نام LastIdController در ترمینال خود اجرا کنید:

php artisan make:controller LastIdController

در این فایل کنترلر دو متد ایجاد می کنیم.در ادامه توضیحات مربوط به این دو متد را آورده ایم:

index() – این متد ، متد اصلی این کنترلر می باشد که فایل sample_form.blade.php را در مروگر بارگزاری می کند.
getid() – این متد درخواست ajax برای گرفتن id آخرین رکورد درج شده  را دریافت می کند.

روش اول – insertGetId() – در این روش از کلاس دیتابیس لاراول (فاساد DB) برای گرفتن id آخرین رکورد درج شده استفاده می کند.برای این کار ما باید خط use DB; را به کنترلر اضافه کنیم.در زیر می توانید یک کد به عنوان نمونه از این روش را مشاهد کنید (چگونگی افزودن داده ها به پایگاه داده و بازگرداندن id آخرین رکورد درج شده در لاراول):

$data = array(
    'first_name'  => $request->first_name,
    'last_name'  => $request->last_name
);

$last_id = DB::table('last_ids')
    ->insertGetId($data);

return response()->json(['id' => $result->$last_id]);

روش دوم – lastInsertId() – این دومین روش برای گرفتن id آخرین رکورد درج شده در لاراول می باشد.برای استفاده از این روش ابتدا ما باید با استفاده از کلاس پایگاه داداه لاراول (فاساد DB) داده ها را به جدول اضافه کنیم و سپس برای بازگرداندن id آخرین رکورد اضافه شده از متد getPDO() کلاس دیتابیس لاراول به همراه متد lastInsertID() استفاده کنیم:

$data = array(
       'first_name'  => $request->first_name,
       'last_name'  => $request->last_name
      );

DB::table('last_ids')->insert($data);
$last_id = DB::getPDO()->lastInsertId();

return response()->json(['id' => $last_id]);

روش سوم – create() – این سومین روش برای گرفتن id آخرین رکورد درج شده در لاراول می باشد.این متد از کلاس مدل Eloquent لاراول می باشد که داده ها را در آرایه ای از شی برمی گرداند.بنابراین ما می توانیم با استفاده از متد create() نتبیجه را در آرایه ای از شی دریافت کنیم و از شی می توانیم id آخرین رکورد درج شده را دریافت کنیم.برای استفاده از از این متد ما نیاز داریم خط کد use App\LastId; را به کنترلر خود اضافه کنیم:

$data = array(
       'first_name'  => $request->first_name,
       'last_name'  => $request->last_name
      );

$result = LastId::create($data);

return response()->json(['id' => $result->id]);

روش چهام – save() – این چهارمین روش برای گرفتن id آخرین رکورد درج شده در لاراول می باشد.متد save() نیز از کلاس مدل Eloquent لاراول می باشد.برای استفاده از این متد ما باید یک شی از مدل ایجاد کنیم و داده ها را از طریق این شی اضافه کنیم و در اخر از متد save() استفاده کنیم:

$result = new LastId;
$result->first_name = $request->first_name;
$result->last_name = $request->last_name;
$result->save();

return response()->json(['id' => $result->id]);

با استفاده از 4 روش فوق می توانیم id آخرین رکورد درج شده در لاراول را دریافت کنیم. پس از گرفتن id آخرین رکورد درج شده ، در فرمت json  به درخواست Ajax ارسال می کنیم. کد اصلی و نهایی کنترلر ما بصورت زیر می باشد:

app/Http/Controllers/LastIdController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use App\LastId;

class LastIdController extends Controller
{
    function index()
    {
        return view('sample_form');
    }

    function getid(Request $request)
    {
        if($request->ajax())
        {
            $data = array(
                'first_name'  => $request->first_name,
                'last_name'   => $request->last_name
            );

            //Method 1
            /*$last_id = DB::table('last_ids')
               ->insertGetId($data);*/

            //Method 2
            /*DB::table('last_ids')->insert($data);
            $last_id = DB::getPDO()->lastInsertId();*/

            //Method 3
            /*$result = LastId::create($data);*/

            //Method 4
            $result = new LastId;
            $result->first_name = $request->first_name;
            $result->last_name = $request->last_name;
            $result->save();

            return response()->json(['id' => $result->id]);
        }
    }
}

ایجاد فایل View

برای ایجاد فایل View به پوشه ی resources/views بروید و یه فایل Blade با نام sample_form.blade.php ایجاد کنید و کدهای زیر را در آن وارد کنید

<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>دریافت ID آخرین رکورد درج شده در جدول در لاراول 5.8</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body dir="rtl">
<div class="container">
    <br />
    <h3 align="center">دریافت ID آخرین رکورد درج شده در جدول در لاراول 5.8</h3>
    <br />
    <div class="row">
        <div class="col-md-3">

        </div>
        <div class="col-md-6">
            <form method="post" id="sample_form">
                @CSRF
                <div class="form-group">
                    <label>نام</label>
                    <input type="text" name="first_name" class="form-control" />
                </div>
                <div class="form-group">
                    <label>نام خانوادگی</label>
                    <input type="text" name="last_name" class="form-control" />
                </div>
                <div class="form-group">
                    <input type="submit" name="submit" class="btn btn-info" value="ارسال" />
                </div>
            </form>
            <div id="last_inserted_id"></div>
        </div>
        <div class="col-md-3">
        </div>
    </div>
</div>
</body>
</html>
<script>
    $(document).ready(function(){
        $('#sample_form').on('submit', function(event){

            event.preventDefault();
            $.ajax({
                url:"{{ route('last-id/getid') }}",
                method:"POST",
                data:$(this).serialize(),
                dataType:"json",
                success:function(data){
                    $('#sample_form')[0].reset();
                    $('#last_inserted_id').html(' ID آخرین رکورد درج شده - ' + data.id);
                }
            })
        });
    });
</script>

ایجاد Route

در پروژه های لاراول ما باید برای متدهای کنترلر برنامه Route ایجاد کنیم.برای این کار فایل routes/web.php را باز کنید و کدهای زیر را در آن بنویسید:

<?php

Route::get('last-id', 'LastIdController@index');
Route::post('last-id/getid', 'LastIdController@getid')->name('last-id/getid');

برای اجرای برنامه خود کافیست کد زیر را در ترمینال اجرا کنید:

php artisan serve

برای مشاهده برنامه دریافت id آخرین رکورد درج شده آدرس زیر را در مرورگر خود باز کنید:

http://127.0.0.1:8000/last-id

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *