当前位置: 首页 > 知识库问答 >
问题:

Laravel雄辩的集合属性

丁俊爽
2023-03-14

我正在用Laravel 5.2开发一个Web应用程序,但有一个问题我无法解决。

我有一个扩展了雄辩模型的模型,但当我试图输出带有“where”的数据库表时,例如

\App\MyModel::where('id_table', 23)->first();

它返回一个包含许多信息的集合,这些信息此时对我来说无用,比如“守卫”、“键入”...我的表的数据在“属性”下。遵循laravel的指南,我看到每个人都像我一样简单地使用它,然后用$mytable-输出

这是我所说的集合的截图:

当我使用类似于“::where()”的东西时,如何始终只获取属性?

我尝试了getAttributes(),但它给了我500个错误。


共有1个答案

越勇锐
2023-03-14
匿名用户

如果您只想获得几个属性,那么可以做很多事情。也许第一种方式对您来说是最好的:

使用pluck()

\App\MyModel::where('id_table', 23)->pluck('id', 'name');

使用select()

\App\MyModel::select('id', 'name')->where('id_table', 23)->get();

对参数使用get()

\App\MyModel::where('id_table', 23)->get(['id', 'name']);

如果您想获得有说服力的集合,然后只使用属性构建一个数组,那么可以使用toArray()

\App\MyModel::where('id_table', 23)->get()->toArray();

如果你想获得一个新集合的一些属性,在集合上使用pluck():

$collection = \App\MyModel::where('id_table', 23)->get();
$names = $collection->pluck('name');

 类似资料:
  • 我正在使用Laravel5.3,需要一些关于雄辩的模型查询的帮助。我有三个模型(UserDetails、Categories、Articles)。我在用户详细信息之间有关系- 每个关系都运行良好,即Userdetails::find(1)- 我有一种感觉,范围可能是答案,但他们似乎不工作,当我尝试它。 模型中的关系 UserDetails.php Categories.php 我研究了HasMan

  • 我最近开始使用Laravel 5作为框架。到目前为止,一切都是完全直截了当的,用它工作很好。然而,目前我遇到了一些关于我雄辩模型的麻烦。 数据库表

  • 下面是我在$result上使用var_dump时显示的内容 对象(用户)#22(30){[“用户id”]= 下面是当我使用Foreach在$结果上var_dump每个$用户时发生的情况 我一直在寻找解决这个问题的方法,但我似乎找不到,起初我使用get(),但我在某个地方读到,如果我只希望得到一个结果,我应该使用first(),但它不会改变任何东西。我无法访问收藏。。

  • 提前感谢您的时间。如果你赶时间,跳到粗体部分。 我有一个以下用例:应用程序的每个用户都使用自己的一组前缀表来创建有说服力的模型(即,对于code_发票使用Invoice.php,对于code_客户使用Client.php)。前缀在用户表中定义(例如users.code)。 在Laravel 5.2中,我已经能够通过在用户登录后读取运行时设置的配置(或会话)变量来轻松设置雄辩模型的$table属性。

  • 我是新来的拉威尔,我曾在codeigniter工作。我对雄辩的ORM概念着迷。我有一个关于雄辩能力的一般性问题。ORM的功能是什么,我的意思是我们可以获得相关表行的级别。如果你看“http://four.laravel.com/docs/eloquent#relationships 一对一 一对多 多对多 多态关系 在我看来,“一对一”意味着一级。表1表2

  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?