【发布时间】:2021-05-29 04:55:54
【问题描述】:
我的数据库中有一个包含这些列的表:
+-----------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+----------------+
| id | bigint(20) unsigned | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| value | varchar(255) | NO | | NULL | |
+-----------------+---------------------+------+-----+---------+----------------+
我会按名称访问值。
例如我有这些数据:
+----+------------+------------+
| id | name | value |
+----+------------+------------+
| 1 | start_date | 2020-01-01 |
| 2 | end_date | 2021-01-01 |
+----+------------+------------+
我希望在“开始日期”之前获得“2020-01-01”。
我尝试了这段代码,但我并不满意,因为使用这段代码我得到了行的所有值,而不仅仅是预期的值。
Configuration::get()->keyBy('start_date');
我不确定我是否清楚。
告诉我。
非常感谢!!
【问题讨论】:
-
你试过什么?我没有在您的问题中看到任何模型或查询或任何内容...在 Stackoverflow 上,您应该努力解决自己的问题,我们将协助调试您的方法。
-
@TimLewis 我添加了我的代码。感谢您的建议!
-
没问题!下一步,只是快速解释为什么该代码不起作用:) 它做了什么与您期望它做什么。乍一看,也许
Configuration::pluck('name', 'value')可能有用(或::pluck('value', 'name'),不确定顺序) -
使用我发布的代码,你最终应该得到一个这样的集合:
['start_date' => '2020-01-01', 'end_date' => '2021-01-01'],所以如果你做了$keyVals = Configuration::pluck('value', 'name');,那么你就可以像$keyVals['start_date']一样访问它('2020-01-01') 和$keyVals['end_date']('2021-01-01')。那是你要找的吗?如果不是,那我真的不明白你的问题…… -
我认为这对我有好处!我会在我的代码中尝试:) 在此先感谢
标签: laravel model-view-controller eloquent controller