# 第6节 Laravel-通过模型处理性别 #

6.1 模型中创建处理性别的方法

6.2 模型方法在前台视图的遍历、调用

## 6.1 模型中创建处理性别的方法 ##

目前在列表页的性别,显示的还是数字。所以,我们有必要显示成中文。

首先,在模型中创建一个 sex() 的方法。

`\app\models\Student.php`

~~~

namespace App\models;

use Illuminate\Database\Eloquent\Model;

class Student extends Model

{

const SEX_UN = 2;

const SEX_BOY = 1;

const SEX_GIRL = 0;

/**

* 与模型相关的数据表

*/

protected $table = "student";

/**

* 指定是否模型应该被戳记时间

*/

public $timestamps = false;

/**

* 处理用户的性别,转换为中文

*

* @param $ind 用户存储的性别数字编号

* @return string 对应的性别中文字符

* @author webjust [604854119@qq.com]

*/

public function sex($ind = null)

{

$arr = array(

self::SEX_GIRL => '女',

self::SEX_BOY => '男',

self::SEX_UN => '未知',

);

if($ind !== null)

{

return array_key_exists($ind, $arr) ? $arr[$ind] : $arr[self::SEX_UN];

}

return $arr;

}

}

~~~

别忘了,既然要在模板中使用Student类,那就需要引入它。

在 `\resources\views\student\create.blade.php` 文件顶部加入如下代码:

use App\Models\Student;

$student = new Student();

?>

## 6.2 模型方法在前台视图的遍历、调用 ##

修改视图 `\resources\views\student\create.blade.php`

性别

@foreach($student->sex() as $ind => $sex)

name="Student[sex]" {{ (isset(old('Student')['sex']) && old('Student')['sex'] == $ind) ? 'checked' : '' }}

value="{{ $ind }}"> {{ $sex }}

@endforeach

{{ $errors->first('Student.sex') }}

同理,我们在列表页首页也需要使用sex方法,因此也需要引入Student类。

在 `\resources\views\student\index.blade.php` 文件中,顶部写入:

use App\Models\Student;

$student = new Student();

?>

然后在视图文件中调用 sex() 方法,传递性别的值作为参数。

{{ $student->sex($student->sex) }}

**显示效果:**

![](https://box.kancloud.cn/1a6405873acbe7c8dd010e6540746046_1046x728.png)

用PHP编写提供性别的发法,第6节 Laravel-通过模型处理性别相关推荐

  1. 定义一个圆类——Circle,在类的内部提供一个属性:半径(r),同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。

    定义一个圆类--Circle,在类的内部提供一个属性:半径®,同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) . 通过两个方法计算 ...

  2. C语言:利用指针编写程序,用梯形法计算给定的定积分

    题目来源:大工慕课 链接 作者:Caleb Sung 题目要求 利用指针编写程序,用梯形法计算下列公式中的定积分: ∫100(x3+12x+1)dx ∫ 0 10 ( x 3 + 1 2 x + 1 ...

  3. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、数学课(Math)和平均值(avg),方法包括求三门课的平

    问题: 编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English).数学课(Math)和平均值(avg),方法包括求三 ...

  4. //编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg)

    //编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English). //数学课(Math)和平均值(avg),方法包括求 ...

  5. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求三门

    //编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English). //数学课(Math)和平均值(avg),方法包括求 ...

  6. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 数学课(Math)和平均值(avg),方法包括求

    /编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English). //数学课(Math)和平均值(avg),方法包括求三 ...

  7. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求

    题目:编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English). //数学课(Math)和平均值(avg),方法包括 ...

  8. //编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求

    //编写一个学生类(Students),包括姓名(name).性别(sex).学号(num).语文课(Chinese).英语课(English). //数学课(Math)和平均值(avg),方法包括求 ...

  9. python数据分析案例-利用生存分析Kaplan-Meier法与COX比例风险回归模型进行客户流失分析与剩余价值预测

    目录 1. 概述 1.1 背景 1.2 目的 1.3 数据说明 2. 相关概念 2.1 事件 2.2 生存时间 2.3 删失 2.4 生存概率 2.5 中位生存时间 2.6 风险概率 3. 数据处理 ...

最新文章

  1. Python 多进程开发与多线程开发
  2. centos7.2安装mysql
  3. (原创)不带模板的DOI输出EXCEL
  4. solr搭建分布式搜索引擎
  5. python人脸识别训练模型_开源 | 基于Python的人脸识别:识别准确率高达99.38%!
  6. Oracle Partition Outer Join 稠化报表
  7. t3软件怎么生成报表_临沂用友畅捷通T3财务通软件财税一体化
  8. Java中的main()方法是强制性的吗?
  9. ES建立索引步骤, 1,index 2.mapping 3,别名
  10. python小练习—名片管理系统(增、删、改、查、数据本地保存)
  11. datetimepicker 默认时间_Django项目中如何使用日期时间选择器DateTimePicker
  12. 项目添加GPUImage
  13. 读书_w3c架构师01通用设计与方法论
  14. 三星死守中国市场,强撑溢价难挽回颓势吗?
  15. python函数参数值_python 函数参数
  16. 微信小程序准备阶段。(一)
  17. Android吉他调音器,吉他调音器:GuitarTuna
  18. Thinkpad x250安装Windows10后指纹识别的问题
  19. CORBA 架构体系指南(通用对象请求代理体系架构)
  20. comsol如何定义狄利克雷边界_COMSOL中周期性边界条件的应用

热门文章

  1. 2021-2025年中国道路平地机行业市场供需与战略研究报告
  2. 做游戏,学编程(C语言) 10 僵尸危机
  3. Thymeleaf前后端传值 页面取值与js取值
  4. RubikFX:用JavaFX 3D解决魔方难题
  5. 寒门问题少年到计算机博士,硅谷穷小子是如何成为“创业之神”
  6. 任正非就注册姚安娜商标道歉;人人影视字幕组因盗版被查;JIRA、Confluence 等产品本月停售本地化版本 | 极客头条...
  7. 魅族回应 “暗中给手机植入木马”;前谷歌AI伦理专家遭解雇或因论文;GoLand 2020.3发布|极客头条...
  8. 任正非:华为明年至少招8000名应届生;苹果开发 Google 搜索的替代;NumPy 1.19.3发布|极客头条
  9. 微软水下数据中心“浮出水面”、GitHub代码保存在北极,数据黑科技贮藏方式大曝光!...
  10. 马斯克脑机接口、BrainOS 相继发布,未来已来?