Laravel 8 queries Tips 1





 -----2022-01-20---------
-- Reuse or clone query()
$flightModel = Flight::query();
$flightModel->where('publish', 1);
$flightModel1 = $flightModel->clone()->where('delete_flag', 0)->get();
$flightModel2 = $flightModel->clone()->where('delete_flag', 1)->get();
dd($flightModel1, $flightModel2);
-- Eloquent where date methods
$products = Product::whereDate('created_at', '2018-01-31')->get();
$products = Product::whereMonth('created_at', '12')->get();
$products = Product::whereDay('created_at', '31')->get();
$products = Product::whereYear('created_at', date('Y'))->get();
$products = Product::whereTime('created_at', '=', '14:13:58')->get();

-- Increments and decrements
$flightModel = Flight::find(4)->increment('publish');
$flightModel = Flight::find(4)->increment('publish', 1);
$flightModel = Flight::find(4)->increment('publish', -1);
dd($flightModel);
-----------2022-01-20-----------------------
$sqlModel = DB::select('SELECT * FROM fed_ex WHERE cargo_id = ? AND read_flg = ? ', [143, 1]);
$sqlModel = DB::select('SELECT * FROM "communications" WHERE cargo_id = ? AND read_flg = ? ', [143, 1]);
$sqlModel = DB::select('select * from fed_ex');
$sqlModel = DB::select('select * from fed_ex where id = :id', ['id' => 1]);
$sqlModel = DB::insert('insert into fed_ex (id, name) values (?, ?)', [1, 'Marc']);
$sqlModel = DB::update('update fed_ex set votes = 100 where name = ?',['Anita']);
$sqlModel = DB::delete('delete from fed_ex');

Queries
$model = DB::table('fed_ex')->get();
$model = DB::table('communications')->where('cargo_id', 143)->value('message'); // Hello smith
$model = DB::table('communications')->find(140);
$model = DB::table('users')->pluck('title');
foreach ($model as $title) {
echo $title;
}
$model = DB::table('communications')->select('message', 'cargo_id as cid')->get();
$model = DB::table('communications')->distinct('cargo_id')->get();
$query = DB::table('communications')->select('message');
$model = $query->addSelect('cargo_id')->addSelect('id')->get();
$model = DB::table('communications')
 ->select(DB::raw('count(*) as user_count, cargo_id'))
 ->where('read_flg', '<>', 0)
 ->groupBy('cargo_id')
 ->get();
 
$model = DB::table('communications')
 ->selectRaw('cargo_id * ? as price_with_tax', [10])
 ->get(); // select cargo_id * ? as price_with_tax from "communications
 
INNER JOIN
$model = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->join('orders', 'users.id', '=', 'orders.user_id')
->select('users.*', 'contacts.phone', 'orders.price')
->get();

LEFT/RIGHT JOIN
$model = DB::table('users')
->leftJoin('posts', 'users.id', '=', 'posts.user_id')
->get();
$model = DB::table('users')
->rightJoin('posts', 'users.id', '=', 'posts.user_id')
->get();
BASIC Where Clauses
$model = DB::table('users')
->where('votes', '=', 100)
->where('age', '>', 35)
->get();

$users = DB::table('users')->where([
    ['status', '=', '1'],
    ['subscribed', '<>', '1'],
])->get();
LIKE
$users = DB::table('users')
->where('name', 'like', 'T%')
->get();
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere(function($query) {
$query->where('name', 'Abigail')
  ->where('votes', '>', 50);
})
->get(); // select * from users where votes > 100 or (name = 'Abigail' and votes > 50)
$users = DB::table('users')
   ->whereBetween('votes', [1, 100])
   ->get();
   
$users = DB::table('users')
->whereNotBetween('votes', [1, 100])
->get();

$users = DB::table('users')
->whereIn('id', [1, 2, 3])
->get();

$users = DB::table('users')
->whereNotIn('id', [1, 2, 3])
->get();

$users = DB::table('users')
->whereNull('updated_at')
->get();

$users = DB::table('users')
->whereNotNull('updated_at')
->get();
whereDate / whereMonth / whereDay / whereYear / whereTime
$users = DB::table('users')
->whereDate('created_at', '2016-12-31')
->get();

$users = DB::table('users')
->whereMonth('created_at', '12')
->get();

$users = DB::table('users')
->whereDay('created_at', '31')
->get();

$users = DB::table('users')
->whereYear('created_at', '2016')
->get();

$users = DB::table('users')
->whereTime('created_at', '=', '11:20:45')
->get();
whereColumn / orWhereColumn
$users = DB::table('users')
->whereColumn('first_name', 'last_name')
->get();
Ordering
$users = DB::table('users')
->orderBy('name', 'desc')
->get();

$users = DB::table('users')
->orderBy('name', 'desc')
->orderBy('email', 'asc')
->get();

$model = DB::table('communications')
->latest()
->first();
 
$model = DB::table('communications')
->oldest()
->first();

$model = DB::table('communications')
->inRandomOrder()
->first();
$users = DB::table('users')
->offset(10)
->limit(5)
->get();

$users = DB::table('users')->skip(10)->take(5)->get();
Debugging
$model =DB::table('communications')->where('cargo_id', '>', 100)->dd();
$model =DB::table('communications')->where('cargo_id', '>', 100)->dump();

dd($sqlModel);
Share on Google Plus

About Ram Pukar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment

0 comments:

Post a Comment