📜  仅从 laravel 中的模型中提取类别名称和 id - PHP (1)

📅  最后修改于: 2023-12-03 15:06:28.390000             🧑  作者: Mango

从 Laravel 模型中提取类别名称和 ID

在 Laravel 中,有时需要从模型中提取类别名称和 ID。这是一种常见的需求,特别是在将数据呈现给用户时。本文将向您介绍如何使用 Laravel 模型从数据库中提取类别名称和 ID。

步骤 1 - 创建模型

首先,您需要创建一个模型,该模型将与数据库表连接。您可以使用 Artisan 命令来快速创建模型:

php artisan make:model Category

这将创建一个名为 Category 的模型类,并在 app 目录下的 Models 子目录中保存。现在我们可以在模型类中定义我们需要提取的属性。

步骤 2 - 添加属性

在 Category 模型中,我们需要添加两个属性:name 和 id。在 Laravel 中,您可以使用 $fillable 属性来定义可批量赋值的属性。这是一个常见的技巧,因为它使您能够更轻松地从表单验证器传递值。让我们在 Category 模型中添加以下代码:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    use HasFactory;

    protected $fillable = [
        'name',
        'id'
    ];
}
步骤 3 - 获取类别名称和 ID

现在我们已经定义了 Category 模型,我们可以在控制器中使用它来提取类别名称和 ID。让我们看看一个例子:

<?php

namespace App\Http\Controllers;

use App\Models\Category;
use Illuminate\Http\Request;

class CategoryController extends Controller
{
    public function index()
    {
        $categories = Category::all(['name', 'id']);
        return view('categories', compact('categories'));
    }
}

在上面的代码中,我们使用 all() 方法来获取所有类别的名称和 ID。传递属性数组作为参数会告诉 Eloquent 查询仅返回所需的属性。在 index() 方法中,我们将返回的类别集合传递到视图中。

步骤 4 - 显示结果

现在我们可以使用 Blade 模板将类别名称和 ID 呈现给用户。以下是一个简单的模板示例:

@foreach ($categories as $category)
    <div>
        <p>{{ $category->name }}</p>
        <p>{{ $category->id }}</p>
    </div>
@endforeach

在上面的代码中,我们使用 foreach 循环迭代所有类别。然后,我们在 div 元素中使用 {{ $category->name }}{{ $category->id }} 显示每个类别的名称和 ID。

结论

现在您已经了解了如何从 Laravel 模型中提取类别名称和 ID。这是一个基本的技巧,您可以在许多情况下使用它,以呈现数据给用户。记住,您可以根据需要扩展这个基本示例,以确保您的应用程序满足您的独特需求。