您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
laravel中的一对多关系使用与inertia的link使用
发布时间:2024-11-01 20:00:53编辑:雪饮阅读()
-
laravel中的一对多关系使用
前番用户的project列表就是一对多,一个用户可以有多个project。
那么所以基于上篇中,我们需要将用户模型Y:\root\example-app\app\Models\User.php
中新增一个方法如
public function projects(): HasMany
{
return $this->hasMany(Project::class,"uid","id");
}
这里需要注意HasMany必须使用
use Illuminate\Database\Eloquent\Relations\HasMany;
那么接下来我们的项目列表的对应于后端的index方法实现如
public function index(Request $request):Response
{
return Inertia::render('Project/Index', [
'projects' => User::find($request->user()->id)->projects,
]);
}
比之前是更优雅了些。
inertia的link的使用
To create links to other pages within an Inertia app, you will typically use the Inertia component. This component is a light wrapper around a standard anchor link that intercepts click events and prevents full page reloads. This is how Inertia provides a single-page app experience once your application has been loaded.<Link><a>
现在我们需要整理下了,之前实现了project的列表,以及category的列表,我这里是想全部整理到dashboard右上角的菜单列表上。
然后category的创建以及project的创建都放到对应的列表右上角。
所以AuthenticatedLayout.vue中增加如
<DropdownLink
:href="route('project_category.index')"
>
Project Category
</DropdownLink>
而Y:\root\example-app\resources\js\Pages\Project\Index.vue中增加如
<div style="display: flex;justify-content: right;">
<Link :href="route('project.edit')">Create Project</Link>
</div>
这里需要保证Link被引用
import { Head ,Link} from '@inertiajs/vue3';
本期词汇:
typically 一般,通常
wrapper 包装纸,包装材料
anchor 锚;支柱
关键字词:laravel,inertia
相关文章
- 列出已有项目分类(laravel11+breeze+inertia实现增与
- 图片上传保存逻辑(laravel11+breeze+inertia+vue3实现
- 更改数据结构的两种方法(laravel的migrate)
- mass-assignment批量赋值异常及期间的注意事项(基于la
- blade视图模板的扩展与复用(laravel的inertia)
- 调试请求数据并创建project(为基于sail的laravel项目
- project-create相关的路由及controller定义(laravel-b
- 前端form组件的介绍(laravel11中的breeze的form实现)
- vite刷新慢的解决办法(laravel的sail部署中mysql容器
- 创建project相关的视图与数据库设计(laravel入门套件B