为了账号安全,请及时绑定邮箱和手机立即绑定

lavarel初学者:通过模型控制性别

lavarel初学者:通过模型控制性别

PHP
qq_卡卡_35 2017-10-06 09:08:19
index文件:<td>{{ $student->sex($student->sex) }}</td>模型文件:Student.php<?phpnamespace App;use Illuminate\Database\Eloquent\Model;class Student extends Model{    //通过模型处理性别,先定义三个常量    const SEX_UN = 10; //未知    const SEX_BOY = 20;  //男    const SEX_GIRL = 30;   //女    protected $table = 'student';    protected $fillable = ['name','age','sex']; //允许批量赋值    public $timestamps = true;    protected function getDateFormat()    {        return time();    }    protected function asDateTime($val)    {        return $val;    }    //定义一个方法sex    public function sex($ind = null)    {        $arr = [            self::SEX_UN => '未知',            self::SEX_BOY => '男',            self::SEX_GIRL => '女',        ];        if( $ind !== null ){            return array_key_exists($ind, $arr) ? $arr[$ind] : $arr[self::SEX_UN];        }        return $arr;    }}最后index显示报错ErrorExceptionin helpers.php line 529:                            htmlentities() expects parameter 1 to be string, array given                        in helpers.php line 529atHandleExceptions->handleError('2', 'htmlentities() expects parameter 1 to be string, array given', 'D:\xampps\htdocs\laravel-demo\vendor\laravel\framework\src\Illuminate\Support\helpers.php', '529', array('value' => array('未知', '男', '女')))athtmlentities(array('未知', '男', '女'), '3', 'UTF-8', false) in helpers.php line 529ate(array('未知', '男', '女')) in d5c5164230498b21f0daeb217404370268fd2229.php line 31atinclude('D:\xampps\htdocs\laravel-demo\storage\framework\views\d5c5164230498b21f0daeb217404370268fd2229.php') in PhpEngine.php line 42怎么办?
查看完整描述

1 回答

?
周彪彪

TA贡献6条经验 获得超1个赞

数据是null返回了数组,页面里只能打印字符串,你给了数组,当然报错。改成默认返回未知

查看完整回答
反对 回复 2017-10-13
  • 1 回答
  • 0 关注
  • 1441 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信