Чтобы объединить данные столбцов в SQL с Laravel, вы можете использовать несколько методов. Я приведу вам несколько примеров:
Метод 1: использование функции CONCAT в SQL
$users = DB::table('users')
->select(DB::raw("CONCAT(first_name, ' ', last_name) AS full_name"))
->get();
foreach ($users as $user) {
echo $user->full_name;
}
Метод 2: использование функции CONCAT_WS в SQL
$users = DB::table('users')
->select(DB::raw("CONCAT_WS(' ', first_name, last_name) AS full_name"))
->get();
foreach ($users as $user) {
echo $user->full_name;
}
Метод 3. Использование методов доступа Laravel в моделях Eloquent
В вашей модели пользователя вы можете определить метод доступа для объединения столбцов имени и фамилии:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// ...
public function getFullNameAttribute()
{
return $this->attributes['first_name'] . ' ' . $this->attributes['last_name'];
}
}
Тогда вы сможете получить доступ к атрибуту full_nameнепосредственно в экземплярах модели User:
$users = User::all();
foreach ($users as $user) {
echo $user->full_name;
}
Это всего лишь несколько примеров того, как можно объединить данные столбцов в SQL с помощью Laravel. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.