Php Laravel-从模型中操作数据
我可能把这件事复杂化了,或者遗漏了一些非常简单的事情,所以请原谅我 我正在尝试操作/映射模型中的一些数据 我正在尝试做的一个非常简单的例子: 我有Php Laravel-从模型中操作数据,php,laravel,eloquent,Php,Laravel,Eloquent,我可能把这件事复杂化了,或者遗漏了一些非常简单的事情,所以请原谅我 我正在尝试操作/映射模型中的一些数据 我正在尝试做的一个非常简单的例子: 我有$model->attr,这将返回数据库中该列的任何内容 我知道返回值将是1、2或3 当在视图上显示时,我希望此值显示不同的内容,为了这个示例,让我们假设1=>'red',2=>'blue',3=>'green' 我将如何在模型中执行此操作?我看过访问器和变异器,但不确定它们是否正确使用 提前感谢。我认为您正在尝试根据条件输出文本。如果是,你可以试试
$model->attr
,这将返回数据库中该列的任何内容
我知道返回值将是1
、2
或3
当在视图上显示时,我希望此值显示不同的内容,为了这个示例,让我们假设1=>'red'
,2=>'blue'
,3=>'green'
我将如何在模型中执行此操作?我看过访问器和变异器,但不确定它们是否正确使用
提前感谢。我认为您正在尝试根据条件输出文本。如果是,你可以试试
@if($model->attr==1)
red
@elseif($model->attr==2)
blue
@else
green
@endif
您确实需要一个:
把它放在你的模型里,它应该可以完美地工作
Laravel将属性转换为CamelCase,因此
$user->full\u name
具有访问器getFullNameAttribute
,$user->all\u your\u base\u是属于我们的
变成getall your base是属于我们的属性
可能会有帮助。我认为变异子是正确的答案。你应该详细说明这个答案,并将其作为答案发布。我实际上认为这不是作者想要的。这要求您将3个子句放在您想要输出数据的任何地方@Frank Provost:是的,您是对的。@MuhammadRizwan您的建议对于一个案例来说都是可以接受的,但是接受的答案使其在我的整个应用程序中重复使用,谢谢您欢迎,请点击向上箭头至少给出一点,我认为这是一个很好的答案,但是你应该在返回后离开休息。啊,谢谢!休息是一种习惯。我将更新我的答案并删除它们!
public function getNewValueAttribute($value){
switch($value) {
case '1':
return 'red';
case '2':
return 'blue';
case '3':
return 'green';
}
}