Ana*_*mov 2 php mysql laravel eloquent laravel-5
我正在通过从数据库中检索多个数据来创建学生编号.
喜欢Course_ID.Year_Code.Student_no
为了检索相同的数字,我将我的原始学生编号(在创建时给出)填写为0001,0002.
当我尝试通过从数据库中获取此号码来检索我的学号
我得到没有零的结果.
让我们说 Course_ID 22和Year_Code 16
和Student_NO 0005
我将号码返回22165,应该是22160005.这就是我学生的方式.
$students = \App\Student::with('payment')->where('branch', $id)->get();
Run Code Online (Sandbox Code Playgroud)
(我实际上收到的student_no没有零,下面的查询)
这就是我用刀片写的方式
<td>{{$student->Course_ID.$student->course->year_code.$student->student_no}} </td>
Run Code Online (Sandbox Code Playgroud)
PS:我知道如何使用str_pad检索本机php的数字.我问是否有一种方法可以在Eloquent上进行.
Eloquent没有直接的方法可以提供,所以你需要自己添加一些逻辑.
一个选择是将存储student_no在数据库中的字符串,否则将为零时,它的牵强,因为在PHP的整数,如PHP并不关心你丢失ZEROFILL和治疗0005为5.
另一种选择是在从数据库中获取数据后手动在PHP中附加零,例如通过在模型中添加访问器:
public function getStudentNoAttribute() {
return sprintf("%05d", $this->attributes['student_no']);
}
Run Code Online (Sandbox Code Playgroud)
这样,无论何时访问模型的student_no属性,它都会自动转换为零填充字符串.
归档时间: |
|
查看次数: |
2186 次 |
最近记录: |