首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在laravel集合中保存名称,而不是选择组件中的id

在Laravel集合中保存名称,而不是选择组件中的id,可以通过使用关联模型来实现。关联模型允许我们在模型之间建立关联关系,并通过关联关系来访问相关的数据。

首先,我们需要创建两个模型,一个是保存名称的模型,另一个是组件模型。在保存名称的模型中,我们可以定义一个关联方法,用来关联组件模型。例如,我们可以创建一个名为"NameModel"的模型,并在其中定义一个关联方法"components",如下所示:

代码语言:txt
复制
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class NameModel extends Model
{
    protected $table = 'name_models';

    public function components()
    {
        return $this->hasMany(Component::class);
    }
}

在上述代码中,我们假设组件模型的名称为"Component",并且我们在"name_models"表中保存名称的数据。

接下来,我们需要创建组件模型。在组件模型中,我们可以定义一个关联方法,用来关联保存名称的模型。例如,我们可以创建一个名为"Component"的模型,并在其中定义一个关联方法"nameModel",如下所示:

代码语言:txt
复制
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Component extends Model
{
    protected $table = 'components';

    public function nameModel()
    {
        return $this->belongsTo(NameModel::class);
    }
}

在上述代码中,我们使用belongsTo方法来定义关联关系,表示组件模型属于保存名称的模型。

现在,我们可以在控制器中使用这两个模型来实现保存名称的功能。例如,我们可以在保存名称时,将关联的组件模型一起保存,如下所示:

代码语言:txt
复制
namespace App\Http\Controllers;

use App\Models\NameModel;
use App\Models\Component;
use Illuminate\Http\Request;

class NameController extends Controller
{
    public function store(Request $request)
    {
        $nameModel = new NameModel();
        $nameModel->name = $request->input('name');
        $nameModel->save();

        $component = new Component();
        $component->name = $request->input('component_name');
        $nameModel->components()->save($component);

        return response()->json(['message' => 'Name and Component saved successfully']);
    }
}

在上述代码中,我们首先创建一个新的保存名称的模型实例,然后设置名称并保存。接下来,我们创建一个新的组件模型实例,设置组件名称,并将其与保存名称的模型关联起来,最后保存。

通过上述步骤,我们就可以在Laravel集合中保存名称,而不是选择组件中的id。对于更复杂的关联关系和查询操作,你可以参考Laravel官方文档中的关联关系部分:https://laravel.com/docs/8.x/eloquent-relationships

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何优雅SpringBoot编写选择分支,不是大量if else?

一、需求背景 部门通常指的是一个组织或企业组成若干人员,他们共同从事某一特定工作,完成共同任务和目标。...组织或企业,部门通常是按照职能、工作性质或业务范畴等因素进行划分,如财务部门、人力资源部门、市场部门等。...但在开发过程,如果不建立数据表,则需要用选择结构进行判断赋值,所以就产生了大量 if-else 代码。 本文目标,就是消除这些 if-else 代码,用更高级方法来实现!...选择 Maven,输入项目名称后,点击下一步,如下图所示。 直接点击创建即可,如下图所示。...同学们开发自己商业订单时,可以采取这个方案来处理大量选择逻辑。

19520

应用开发,我为什么选择 Flutter 不是 React Native ?

另一方面,Flutter 可以提供内置组件以访问 API、导航元素、状态管理、应用程序测试以及其他实用度极强 repo,不必依赖于第三方 API 及 React Native 等工具。...开发高性能应用 应用性能方面,Flutter 同样明显领先于 React Native。几乎所有性能测试,Flutter 性能都比 React Native 更好。...React Native 需要使用格拉器或中间件才能通过 JavaScript 与原生组件进行通信, Flutter 则完全不需要。这不仅可以加快开发速度,更可以优化运行速度。...例如,使用 Flutter 时,应用动画运行速率可以达到每秒 60 帧。 对于混合应用开发,将代码、原生组件以及库集成至新架构时,React Native 会带来更高复杂性。...React Native 官方文档并不提供任何明确支持或定义步骤,导致开发者找不到得到广泛认可发布流程自动化指南。

3.2K20

浅谈laravel-admin form数据,提交后,保存前,获取并进行编辑

有一个这样需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。...所以,需要在保存前根据提交审核状态和设置方式得到商品状态再保存通过$form- model()- attribute_name只能获取提交后值,不能更改。...Google之后发现了已经有解决方案:可以修改提交表单时逻辑吗 #375 模型添加如下方法: public static function boot() { parent::boot();...static::saving(function ($model) { // 从$model取出数据并进行处理 }); } 以上这篇浅谈laravel-admin form...数据,提交后,保存前,获取并进行编辑就是小编分享给大家全部内容了,希望能给大家一个参考。

4.2K62

浅谈laravel-admin form数据,提交后,保存前,获取并进行编辑

有一个这样需求: 当商品设置为立即上架时,通过审核就进入上架状态,当设置为保存时,通过审核就进入未上架状态。...所以,需要在保存前根据提交审核状态和设置方式得到商品状态再保存通过$form->model()->attribute_name只能获取提交后值,不能更改。...Google之后发现了已经有解决方案:可以修改提交表单时逻辑吗 #375 模/ /型添加如下方法: public static function boot() { parent::boot()...; static::saving(function ($model) { // 从$model取出数据并进行处理 }); } 以上这篇浅谈laravel-admin form数据,提交后,保存前,...获取并进行编辑就是小编分享给大家全部内容了,希望能给大家一个参考,也希望大家多多支持/ /。

3.5K00

是否还在疑惑Vue.js组件data为什么是函数类型不是对象类型

一、Vue.jsdata使用 我们先来回顾一下Vue使用 {{ name }} {{ age }} var vm...data为函数例子,一般只有可复用Vue实例,data才为函数 data: function() { return { name: '李四', age: '55' } } 组件data...组件data为对象情况 接下来我们来看一下,如果组件data使用对象类型会发生怎么样情况。...因为我们刚开始定义了构造函数Vue时,给他内部data设置了一个值,该值为对象类型,对象类型js称为引用数据类型,是存储着一个指向内存该对象地址。...所以我们使用复用型组件时,申明data属性值时,必须要使用函数类型,因为每次创建实例对象时,他们都是获取属于他们自己一个对象值,并且对应地址都不相同,所以互不影响。

3.4K30

Flutter日期、格式化日期、日期选择组件

今天我们来聊聊Flutter日期和日期选择器。...Flutter第三方库 date_format 使用 实际上,我之前介绍Flutter如何导入第三方库文章依赖管理(二):第三方组件Flutter要如何管理,就是以date_format...依赖管理(二):第三方组件Flutter要如何管理,我详细介绍了如何去查找第三方库、如何将pub.dev第三方库安装到Flutter项目中、date_format库基本使用,这里我就不赘述了...,我们经常会遇到选择时间或者选择日期场景,接下来我将为大家介绍Flutter自带日期选择器和时间选择器。...iOS和Android,都有国际化配置概念,Flutter也不例外。Flutter如何配置国际化呢?

25.6K52

框架篇-Vue面试题1-为什么 vue 组件 data 是函数不是对象

vue组件data属性值是函数,如下所示 export default { data() { // data是一个函数,data: function() {}简写 return...// data是一个对象 name: 'itclanCoder', }, }; 当一个组件被定义,data必须声明为返回一个初始数据对象函数,因为组件可能被用来创建多个实例 也就是说,很多页面...,定义组件可以复用在多个页面 如果data是一个纯碎对象,则所有的实例将共享引用同一份data数据对象,无论在哪个组件实例修改data,都会影响到所有的组件实例 如果data是函数,每次创建一个新实例后...,调用data函数,从而返回初始数据一个全新副本数据对象 这样每复用一次组件,会返回一份新data数据,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例各自独立,互不影响,保持低耦合 可以看下面一段代码...,实例化出来对象(p1,p2)都指向是同一份实体 原型下属性相当于是公有的 修改一个实例对象下属性,也会造成另一个实例属性跟着改变,这样组件复用时候,肯定是不行,那么改成函数就可以了,如下代码所示

1.9K20

为什么 Laravel 这么优秀?

Laravel 提供 FormRequest 就可以非常方便做到这一点;你可以 FormRequest 定义前端传入每一个字段验证规则。...不过这些都属于「茴」字几种写法,真实开发我们应该选择适合团队并且简单易懂。但我觉得正是这种最求极值体验让每个用了 Laravel 的人都爱上了它。...这些组件都用一个共通设计:即开发者只需要面对一套高度抽象 API 不用关心具体实现。... Laravel Pipeline 实现也很有趣;我们知道常见 Pipeline 设计,大多会通过 for 循环来实现, Laravel 则采用是最简单却又最复杂实现 array_reduce...,完成开发时选择自己以及团队合适不是只会写 Java 就觉得其他语言啥都不是

20110

Laravel系列4.7】连接redis以及缓存应用

缓存配置及应用 我们 Laravel ,可以像上面那样去使用 redis 来充当缓存,不过大家选择可不能只限于 redis 呀,很多情况下,我们可能会用别的缓存工具,比如说 Memcached...当然,这些现在虽说已经用得很少了,但是不排除有的项目会有特殊需求。因此,Laravel 也提供了一套缓存组件。 首先,我们还是来看看缓存组件配置文件。...仔细看配置文件,会发现有一个 prefix 属性,这里是指定 cache 会自动添加前缀值,默认会加上 laravel_cache 这样一个前缀,于是,保存在 redis 键就需要使用 laravel_cache...但是呢,由于缓存数据库都相对来说会比关系型数据库简单一些,因此这些组件 Laravel 呈现反而相对来说会简单一些。...我们今天主要是以 Redis 学习为主,顺带也看了一下 Cache 组件实现,主要也就是如何选择缓存驱动实现。内容不多,也非常容易看明白源码。至此,数据库相关内容也就学习完成了。

1.1K30

Laravel系列4.4】模型Eloquent ORM使用(二)

集合操作 其实这个集合操作并不是模型特有的,还记得 查询构造器 ,我们查询列表时候,总会在最后加一个 toArray() 吗?...这个对象就是我们模型组件集合对象,它包含很多集合操作方法,如果以最简单角度理解的话,其实它就是帮我们封装了很多数组操作函数。 这个集合对象有什么作用呢?...另外一个 map() 函数就不用多说了,之前我们说过,Laravel PDO 默认查询构造器情况下,走是 PDO::FETCH_OBJ ,获得集合结果每个数据都是一个 stdClass...这是一个连续递进关系,之前 查询构造器 文章,我们已经看到了它底层就是调用 原生查询 操作。那么这回,我们再来看一下 Model 方法,底层是不是调用是 查询构造器 。...不是我们之前 查询构造器 laravel/framework/src/Illuminate/Database/Query/Builder.php 对象。

2.8K20

Laravel5.2之Demo1——URL生成和存储

学习主题 该demo主要涉及如下几个知识点: 创建数据库并迁移数据表 创建表单,学习Laravelblade模板引擎 创建名为Link模型Model 保存数据进入数据库 从数据库获得...up()方法里引用了Schema::table()方法不是Schema::create()方法,再添加$table->string('age')->default(0);语句,删除原来'id'和timestamps...这里url表示提交表单时路由,方法为post。在这里使用laravelcollective/html这个组件,顺便了解下怎么laravel安装组件。 这里书中使用了laravel4....数据表名称,fillable用来配置数据表字段(column)被批量创建和更新,因为后文保存数据进入表里时使用Link::create([])方法来进行批量赋值。...4、保存数据进入数据库 写好视图表单后,再就是写表单提交路由及其控制器逻辑,控制器引用创建好Link这个Model往links数据表里存数据。

24.1K31

Laravel5.8使用LayUI上传并显示图片操作

这个问题已经困扰好久了,唉 比较难受,本来学习laravel使用是Bootstrap,之后用是Uploadify进行上传图片,无奈,这个技术需要Flash支持,一直没有实现,后来思考再三,还是选择用...Layui后台框架进行设计,emm~~~毕竟用他组件可以实现和Uploadify一样无刷新上传图片效果,但是比较难受就是Laravel使用Layui进行回调函数显示图片时候,Laravel总是莫名增加了域名之外控制器及方法名称...,比较难受,不,是特别难受,从网上及QQ群大神也没有问出个所以然,不过,我最后实现是用比较笨方式,就是拼接为字符串形式进行链接返回调用,(使用前台添加域名方式实现了emm~~)好了 话不多说...="pre_img"> 前台LayuiJS代码设置 <script...我直接使用拼接方式进行链接拼接,这样就可以避免Laravel自动对JSON返回值自动加前缀BUG,虽然有点笨,但是解决了这个方法,以后有好方法继续更新!!!

2.5K30

Laravel系统3.3】控制器与表单验证

传统框架,我们控制器往往也充当路由功能,比如 TP3.2 系列,定义控制器名称就是我们要请求 URL 路径名称。...} 保存你编辑数据 DELETE /test/resource/{id} 删除 是不是感觉很高大上,确实如此,而且这一套路由也是非常符合 RESTFul 规范,并且最主要是,这一套路由不需要我们再手动去写了...在这个 runController() 方法,会指定分发到控制器,其实也是从一个控制器集合查找指定控制器信息。...第二个参数,也就是我们指定回调或者控制器参数就会充当 action 参数,交给 Route.php parseAction() 方法进行处理,处理之后结果就会保存在当前这个 Route 对象...验证规则,则是 request validate() 方法配置这些。

8.7K20

Laravel框架路由和控制器操作实例分析

本文实例讲述了Laravel框架路由和控制器操作。...});}); 路由输出视图 Route::get('/', function () { return view('welcome'); }); 控制器 简介 将请求逻辑交由控制类处理,不是都交给一个...routes.php文件 控制器可以将相应php请求逻辑集合到一个类 存放位置app/Http/Controllers 基础控制器:laravel,默认所有的控制器都继承了控制器基类 <?...view('user.profile', ['user' = User::findOrFail($id)]); } } route 访问控制器,利用 PHP 命名空间机制以嵌套方式组织控制器...'= 'MemberController@info'])- where('id', '[0-9]+'); 更多关于Laravel相关内容感兴趣读者可查看本站专题:《Laravel框架入门与进阶教程》

2K21

php基础(一)

Redis支持丰富数据结构类型,字符串,散列(哈希),集合,有序集合,还支持订阅发布,地理位置等等。...AOF 持久化记录服务器执行所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件命令全部以 Redis 协议格式来保存,新命令会被追加到文件末尾。...1.抽象主体(Subject)角色:主体角色将所有对观察者对象引用保存在一个集合,每个主体可以有任意多个观察者。 抽象主体提供了增加和删除观察者对象接口。主体也就是被观察者。...后者,后者使用原生document.getElementByN ame,ID>Tag>Class....第一种慢原因:在于 jQuery 内部使用各种选择器链条选择顺序是从右到左,所以这条语句是先选.abc,然后再一个个过滤出父元素#content,这导致它慢很多。

2.1K20
领券