问题标签 [laravel-models]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
41 浏览

laravel - 如何使用 Laravel 中的模型优化此查询

实际需求。Select * from User, Student_basicinfo,Student_programs where User.id=student_basicinfo.student_id,user.id=student_programs.student_id;

我想将此查询与模型方法一起使用,但我不知道如何。

有 3 个不同的表 student_id 在用户表中是主要的,但在其他表中作为外键。

0 投票
2 回答
37 浏览

laravel - 检索从-多到多-连接到-一对多-关系的集合的最佳方法(laravel7)

您可以在下图中看到我的数据库的一部分:

这个设计的目标是让管理员能够发送alertsusers过滤器centerfield(动态地)。如果您认为这是一个糟糕的设计,请告诉我(请说明为什么以及如何改进我的设计)。

在此处输入图像描述

现在,如果我想获取用户的警报,我应该这样做:

这段代码很荒谬,我不想这样做。

相反,我想做这样的事情:

或者

我可以在不更改数据库的情况下做这样的事情吗?(方法 1 或 2)。

0 投票
1 回答
752 浏览

laravel - 我在 laravel-modules 中定义的路由出错

在 Laravel 框架 6.18.35 中,我使用“nwidart/laravel-modules”:“^7.2”,并且在定义路由中写入的方法时出错。

在 Modules/Pages/Routes/web.php 我有:

它使用以下方法引用控制器 Modules/Pages/Http/Controllers/Admin/PageTypesController.php:

使用模板 Modules/Pages/Resources/views/admin/page_types/index.blade.php,它具有参考:

这引发错误:

我尝试了几种设置路线的方法,但都失败了。

修改#2: 我看到路线:

我想知道为什么有这么多 "{admin}/" ?Modules/Pages/Routes/web.php 中的内容:

哪个是正确的语法?

谢谢!

0 投票
1 回答
71 浏览

laravel - Laravel 主动发货方式

桌子:

模型:

我想通过使用这样的模型功能只显示活跃的

但后来我得到

错误 调用 bool 上的成员函数 addEagerConstraints()

我做错了什么还是不可能以这种方式做到这一点?

0 投票
0 回答
57 浏览

laravel - Laravel 路由模型绑定返回帖子的虚假所有者

早上好/下午/晚上好!

我有 2 个模型,用户和帖子

用户.php

我在用户表中有两条记录

Post.php

我在帖子表中有一条记录

在我的路线

如您所见,我为 Useruser_name和 Post使用 Route 模型绑定slug

因此,当我访问路线时,例如:

用户 megamanx 是帖子的所有者(test-first-post)

但是,当我尝试将用户参数传递给其他用户时,例如:

并且所有者帖子名称更改为 black_zero,但他不拥有该帖子

那么如何解决这个问题呢?我希望当用户尝试将 , 更改user_name为其他内容时,返回 404。因为只有用户megamanx自己的帖子test-first-post

我总是对批评持开放态度,因为我想成为一个更好的开发人员,如果上面的方法(路线,模型等)有任何错误,请纠正我!谢谢(·∀·)ノ</p>

英语不好见谅( ̄▽ ̄*)ゞ</p>

提前致谢!

0 投票
2 回答
233 浏览

laravel - Laravel 类型提示,模型保存时 id 返回 null

我正在尝试使用类型提示来存储值。

但是,Id 返回 null。

0 投票
1 回答
773 浏览

php - laravel 模型修改器不访问定义的字段

我正在尝试定义一个模型突变器

并在测试控制器上,尝试

不幸的是,它不起作用;该值仍然不是数组(序列化)

我想访问该字段content并反序列化该字段的值,以便在检索时自动获取一个数组,但它不起作用。

0 投票
0 回答
479 浏览

laravel - 无法使用 assertSet 测试 laravel livewire 模型隐藏属性

我有一个简单的 LIvewire 组件,其中包含一个用于创建新用户的表单,并且它可以工作,我可以知道,因为在项目已经进入阶段后我被要求编写测试。

Livewire 组件在持久化之前使用一个new User实例(非持久化,即user->existsis false)来存储插入的数据,并且模型通过受保护的数组user隐藏密码属性。$hidden

现在,我可以在本地环境中通过表单页面成功创建新用户,但是在测试时,它给了我错误。

考试

错误

我发现了什么

通过表单页面设置我的组件用户实例很好,因为livewire将它识别为a model,所以做类似的事情user->password = 'password',而当从测试中设置它时,set()它使用访问运算符访问它的属性,因为它是一个数组,即:user['password] = 'password'
注释掉$hidden数组中的密码条目使测试通过。这将解释属性设置的差异。

结论

由于该$hidden数组旨在在其数组/json 表示中隐藏模型属性,因此它不应该干扰自动化测试,而且在使用 Livewire 自己的方法时,所以对我来说这看起来像一个 LIvewire 错误。

帮助

有没有人遇到过这个错误?

更新#1

为此,我在 Livewire github 页面上打开了一个问题。

0 投票
1 回答
146 浏览

laravel - Laravel ManyToMany 关系正在反转表名

我需要让帖子接受尽可能多的语言,所以我有两个模型postlanguage 帖子模型:

在我的语言模型中:

迁移后:

语言迁移:

我还创建了 post_language_table 迁移来连接帖子和语言:

在我的控制器中:

但是当我尝试将新记录插入到 tha 数据库时,此错误显示:

所以问题是由于某种原因交换了表名!

0 投票
1 回答
45 浏览

laravel - Laravel: active column that behave like softdelete

I have a model accounts in Laravel that uses Softdeletes. Beside that, I want another column called active, that behaves kinda the same. If its sets to XXX then all Account:: calls shouldnt include them in the return. Until I set the active value to YYY, after this, they should be included. Is there any way to do this? I want to set the XXX and YYY values by my own. So I could say return only if active = 1 or active = whatEverIWant

Edit: I know I could do that by checking the value at every call, but I already use the accounts at a lot of places and dont want to add it everywhere