我正在创建一个法院管理系统,使一个人能够查看与某个案件有关的图像和视频
我有两个相关的表,即案例和证据表
关系
证据模型代码:
public function getCaseRef()
{
return $this->hasOne(Cases::className(), ['ref_no' => 'case_ref']);
}
public function rules()
{
return [
[['case_ref', 'saved_by', 'saved_on', 'evidence_type'], 'required'],
[['saved_on'], 'safe'],
[['path'], 'safe'],
[['case_ref', 'saved_by'], 'string', 'max' => 100],
[['evidence_type'], 'string', 'max' => 50],
[['path'], 'file']
];
}
案例模型代码:
public function getEvidences()
{
return $this->hasMany(Evidence::className(), ['case_ref' => 'ref_no']);
}
上传效果很好,我保存了案例参考号为No的证据。证据模型中的路径是我将图像保存到的路径。
在案例控制器的操作视图中
public function actionView($id)
{
$evidence = new Evidence();
return $this->render('view', [
'model' => $this->findModel($id),
'id'=>$id,'evidence'=>$evidence,
]);
}
我如何放置视图模型,以便显示存储在文件夹中的图像/视频/ pdf文件(对应于ID,即在单击期间使用数据库证据表中存储的路径传递的$ id
如果您的模型中该文件夹位于var myFolder中,而文件名位于var myFilename中,则可以轻松地将其用于图像和视频视图,从而将proer值添加到相关属性中
echo "<img src='". $model->myFolder . $model->myFilename . "' >";
echo " <video width='320' height='240' controls>
<source src='" . $model->myFolder . $model->myFilename ."'type='video/mp4'>
Your browser does not support the video tag.
</video> "
对于pdf,您应该使用适当的扩展名(例如mpdf),或者如果mime正确设置了具有相同规则的简单链接,
如果您有大量与案例证据相关的证据,则该证据将在具有许多实例的对象中或在具有许多距离的相关详细信息中提供。要处理这种情况就足够了,您可以在这些等式(子模型或子对象)上进行foreach循环,并针对每个等式都生成答案第一部分中建议的回显。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句