laravel 5.4 New Feature - Add eloquent whereKey method (ok)

https://www.itsolutionstuff.com/post/laravel-54-new-feature-add-eloquent-wherekey-methodexample.html

C:\xampp\htdocs\wpclidemo\app\Http\Controllers\HomeController.php

<?php
namespace App\Http\Controllers;
use App\Models\User;
use DB;
use Illuminate\Http\Request;
class HomeController extends Controller {
  /**
   * Create a new controller instance.
   *
   * @return void
   */
  public function __construct() {
    // $this->middleware('auth');
  }
  /**
   * Show the application dashboard.
   *
   * @return \Illuminate\Contracts\Support\Renderable
   */
  public function index() {
    return view('home');
  }
  public function test() {
    $tests = DB::table('pings')
    ->select(["id","name"])
    ->whereName("test123")
    ->get();
    return view('tests')->with(compact('tests'));
  }
}

C:\xampp\htdocs\wpclidemo\resources\views\tests.blade.php

@extends('layouts.app')
@section('content')
<div class="container">
  <div class="row justify-content-center">
    <div class="col-md-8">
      <div class="card">
        <div class="card-header">Dashboard</div>
        <div class="card-body">
          @foreach ($tests as $test)
            {{ $test->name }}  <br/>
          @endforeach
        </div>
      </div>
    </div>
  </div>
</div>
@endsection

C:\Users\Administrator\Downloads\pings (2).sql

-- phpMyAdmin SQL Dump
-- version 5.1.3
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Aug 11, 2022 at 10:05 AM
-- Server version: 10.4.24-MariaDB
-- PHP Version: 7.4.29
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `wpclidemo`
--
-- --------------------------------------------------------
--
-- Table structure for table `pings`
--
CREATE TABLE `pings` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `user_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
-- Dumping data for table `pings`
--
INSERT INTO `pings` (`id`, `name`, `user_id`, `created_at`, `updated_at`) VALUES
(1, 'test123', '10', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(2, 'test123', '14', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(3, 'Odit vel enim et eos sequi maxime molestiae. Voluptatem accusantium quisquam sunt debitis. Dolores sed labore aut non tempora quod. Veniam ipsum et blanditiis autem neque.', '19', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(4, 'Iste expedita quia tenetur incidunt facilis alias a. Ut deleniti voluptas omnis et. Rem vel hic in. Nemo voluptas cum et quaerat sit aut fugit.', '18', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(5, 'Qui voluptatem sed rerum eveniet voluptatum. Quia et nulla est fugiat. Quis ullam corrupti quaerat ad molestiae minima.', '18', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(6, 'Omnis quo autem sed similique voluptate et nulla. Numquam quam quis amet quae. Necessitatibus dolores veniam necessitatibus magnam officiis temporibus. Sunt fugiat eveniet dolorem eveniet similique.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(7, 'Recusandae perspiciatis aut iusto soluta ipsa laboriosam beatae qui. Dolores harum nesciunt est. Molestias consequatur aut in ad omnis non. Voluptatem rem placeat tenetur.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(8, 'Consectetur nihil cumque velit nobis. Voluptatem reprehenderit quaerat quis labore aliquam. Quis aut aut sit est voluptatem dolores dolore. Facilis dolor laborum omnis numquam.', '13', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(9, 'Vel harum beatae aut sunt neque sed delectus. Nemo dignissimos non repudiandae aut molestias consectetur quia. Velit distinctio et quia tenetur. Odit temporibus consectetur illum aut error officiis.', '61', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(10, 'Consequuntur deserunt qui rerum sunt sit consequatur. Sunt quisquam libero qui cupiditate dolor eveniet accusamus. Ipsum voluptatum non nihil nihil. Corrupti dolorum repudiandae voluptatem.', '81', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(11, 'Eaque dolores velit sit. Esse cupiditate nihil veniam quis provident quisquam. Numquam rerum voluptas mollitia laborum omnis. Numquam dolores enim sit alias nulla consequatur nobis.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(12, 'Quibusdam laudantium aut in omnis. Cum doloribus numquam neque sit dolorem consequatur. Debitis natus aperiam eum soluta et nulla deserunt.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(13, 'Minima placeat ipsum est provident. Necessitatibus quidem ut est facilis. Repellat vero est quibusdam voluptas. Distinctio repudiandae sunt saepe atque nam reprehenderit.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(14, 'Fugiat autem reprehenderit placeat perspiciatis eum. Quis autem voluptate atque aut ex ut. Rem ut necessitatibus explicabo.', '15', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(15, 'Amet fugit qui pariatur eum et consectetur eum. Enim qui corporis et eum est.', '31', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(16, 'Porro aliquid inventore qui et. Veritatis nulla earum sapiente sequi explicabo incidunt eos. Cupiditate excepturi qui minus laborum animi ipsum rem ducimus.', '20', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(17, 'Cupiditate consequatur dolore et molestiae alias labore voluptates. Fuga debitis ut dolorem fugit iure temporibus. Minima dolorum sunt sed sed.', '17', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(18, 'Sit nam alias commodi reiciendis aut distinctio saepe. Molestiae facere accusantium accusantium quis enim doloribus. Saepe adipisci quo quaerat.', '14', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(19, 'Laudantium modi sit reiciendis dignissimos excepturi blanditiis. Quae alias unde vel possimus laudantium. Animi molestiae libero ipsum reiciendis voluptatibus.', '13', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(20, 'Architecto ab et soluta enim. Omnis ipsa beatae animi. Officiis illum assumenda voluptas est ad eveniet.', '10', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(21, 'Placeat et nisi magnam. Voluptatem sapiente nobis excepturi. Modi distinctio qui voluptas aut reprehenderit fugiat vel. Eveniet enim ea modi quos.', '11', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(22, 'Iste commodi et iure quaerat. Consequuntur eos assumenda illum amet consequatur culpa. Sit modi vero ut eius natus sed.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(23, 'Ratione deleniti sit qui. Sequi qui doloremque nulla. Est maxime quidem possimus molestiae eos. Molestiae rerum est quo exercitationem.', '10', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(24, 'Ullam architecto et rerum. Aliquam rem aut dolorem possimus. Ut ex non odit aut ut esse. Sit ut corrupti sed quidem.', '18', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(25, 'Et qui quam illo expedita omnis voluptatem est. Facilis sint saepe illo non molestiae autem. Rerum perferendis qui et velit.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(26, 'Qui ipsa molestias sequi ea est. Nostrum sint est officia amet iure magnam deserunt minima. Voluptas sed aperiam ipsa at. Ipsa voluptate atque illo praesentium.', '20', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(27, 'Temporibus perferendis autem et totam. Vero eius omnis sunt et autem. Exercitationem impedit et quasi asperiores sunt repellat ut architecto.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(28, 'Illum eum culpa sit id dolorum voluptatum. Inventore impedit repellendus ut animi velit nostrum excepturi.', '12', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(29, 'Quidem ut voluptatem voluptatum molestiae. Id culpa voluptatibus et velit veritatis dignissimos qui molestiae. Unde quas ut ex sit odit laborum repellendus. Laudantium non ex odit veritatis.', '51', '2022-08-10 02:28:59', '2022-08-10 02:28:59'),
(30, 'Cumque a voluptates doloribus quo aut aut. Ex et velit quisquam esse.', '61', '2022-08-10 02:28:59', '2022-08-10 02:28:59');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `pings`
--
ALTER TABLE `pings`
  ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `pings`
--
ALTER TABLE `pings`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

laravel 5.4 New Feature - Add eloquent whereKey method

By Hardik Savani January 25, 2017 Category : LaravelPlayUnmuteLoaded: 1.20%FullscreenVDO.AI

Yesterday release Laravel 5.4 new version with new features and many upgrade. Laravel also provide documentation for Laravel 5.4 on their website. There are several update in Laravel 5.4 like in collections, mail, factory helper, Bootstrappers etc.

In this post we are going to see whereKey method in Laravel Eloquent. whereKey is very simple way to use and pretty interesting feature. laravel provide us where condition with add key(column) name and then value, But in this method you have write Key = name of column.

So i am going to give one example for whereKey() that way you can understand how it is working. So first we have on "posts" table with some dummy data like as bellow screen shot.

posts table

Ok, now we require to get only status = 'PUBLISHED' records. So now using whereKey() through we can make query as like bellow:

whereKey() Example

Route::get('wherekey', function () {
    $posts = \DB::table('posts')
    		->select(["id","title","status"])
    		->whereStatus("PUBLISHED")
    		->get();
    dd($posts);
});

You will be found out put as like bellow:

Output:

Read Also: Laravel 5 - Full Text Search Example using Scout and Algolia Packages

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [0] => stdClass Object
                (
                    [id] => 21
                    [title] => My Sample Post
                    [status] => PUBLISHED
                )

            [1] => stdClass Object
                (
                    [id] => 23
                    [title] => Latest Post
                    [status] => PUBLISHED
                )

            [2] => stdClass Object
                (
                    [id] => 27
                    [title] => Yarr Post
                    [status] => PUBLISHED
                )

        )

)

I hope it can help you...

Last updated