РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
292 of 1392 menu

Метод from

Метод from применяется к запросу Query Builder и позволяет явно указать таблицу, из которой будут выбираться данные. Первым параметром передаётся имя таблицы в базе данных. Вторым параметром можно передать псевдоним таблицы. Если метод не вызван, Laravel использует имя таблицы, определённое в модели.

Синтаксис

<?php DB::table('users')->from('users', 'u')->get(); ?>

Пример использования с Query Builder

Давайте получим всех пользователей из таблицы 'users' с помощью Query Builder и метода from:

<?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->from('users')->get(); foreach ($users as $user) { echo $user->name; } ?>

Результат выполнения кода:

"John Doe" "Jane Smith" "Mike Johnson"

Пример с псевдонимом таблицы

Давайте используем псевдоним 'u' для таблицы 'users', чтобы сократить запрос:

<?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->from('users', 'u')->select('u.id', 'u.name')->get(); foreach ($users as $user) { echo $user->name; } ?>

Результат выполнения кода:

"John Doe" "Jane Smith" "Mike Johnson"

Пример с объединением таблиц

Метод from полезен при объединении таблиц, когда нужно указать основную таблицу с псевдонимом:

<?php use Illuminate\Support\Facades\DB; $res = DB::table('users') ->from('users', 'u') ->join('posts', 'posts.user_id', '=', 'u.id') ->select('u.name', 'posts.title') ->get(); foreach ($res as $row) { echo $row->name . ' - ' . $row->title; } ?>

Результат выполнения кода:

"John Doe - First post" "John Doe - Second post" "Jane Smith - First post"

Пример в Eloquent

В Eloquent метод from также доступен и позволяет переопределить таблицу модели:

<?php use App\Models\User; $res = User::from('users', 'u')->where('u.active', 1)->get(); foreach ($res as $user) { echo $user->name; } ?>

Результат выполнения кода:

"John Doe" "Jane Smith"

Пример с динамическим именем таблицы

Метод from удобно использовать, когда имя таблицы формируется динамически:

<?php use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; $tableName = 'users'; if (Schema::hasTable($tableName)) { $res = DB::table($tableName)->from($tableName)->get(); $count = $res->count(); echo "Found " . $count . " records"; } ?>

Результат выполнения кода:

"Found 3 records"

Смотрите также

  • метод select,
    который указывает, какие колонки выбрать
  • метод join,
    который объединяет таблицы
  • метод leftJoin,
    который выполняет левое объединение
  • метод get,
    который выполняет запрос и возвращает коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить