📅  最后修改于: 2023-12-03 15:06:28.390000             🧑  作者: Mango
在 Laravel 中,有时需要从模型中提取类别名称和 ID。这是一种常见的需求,特别是在将数据呈现给用户时。本文将向您介绍如何使用 Laravel 模型从数据库中提取类别名称和 ID。
首先,您需要创建一个模型,该模型将与数据库表连接。您可以使用 Artisan 命令来快速创建模型:
php artisan make:model Category
这将创建一个名为 Category 的模型类,并在 app
目录下的 Models
子目录中保存。现在我们可以在模型类中定义我们需要提取的属性。
在 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'
];
}
现在我们已经定义了 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()
方法中,我们将返回的类别集合传递到视图中。
现在我们可以使用 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。这是一个基本的技巧,您可以在许多情况下使用它,以呈现数据给用户。记住,您可以根据需要扩展这个基本示例,以确保您的应用程序满足您的独特需求。