doutun9179 2017-05-08 22:35
浏览 84
已采纳

如何从其他方法访问变量? 或者如何做得更好?

I would like to know if there is any other way than to repeat my request in my controller. I have a function show($slug) with a query inside that takes the variable $teacher.

protected function show($slug)
{
    $teacher = Teacher::where('slug', $slug)->firstOrFail();

    return view('posts.postTeacher', [
        'teacher' => $teacher,
        'imageProfile' => $this->getImageProfile($slug)
    ]);
}

I created another function to manage my image. Only, I don't know how to access the varialbe $teacher of the other method. Then I am obliged to create a new one with the $slug too.

public function getImageProfile($slug)
{
    $teacher = Teacher::where('slug', $slug)->firstOrFail();

    $basePath = 'uploads/teachers/';
    $fullname = pathinfo($teacher->picture, PATHINFO_FILENAME);
    $imageProfile = $basePath . $fullname . '_profile.jpg';

    return $imageProfile;
}

Is there a better way to do this?

  • 写回答

3条回答 默认 最新

  • dongluo9156 2017-05-08 22:42
    关注

    Why not just move getImageProfile inside Teacher-class?

    class Teacher extends Model {
    
        // ....
    
        public function getImageProfile()
        {
            $basePath = 'uploads/teachers/';
            $fullname = pathinfo($this->picture, PATHINFO_FILENAME);
            return $basePath . $fullname . '_profile.jpg';
        }
    
    }
    

    and

    protected function show($slug) {
        $teacher = Teacher::where('slug', $slug)->firstOrFail();
    
        return view('posts.postTeacher', [
            'teacher' => $teacher,
            'imageProfile' => $teacher->getImageProfile()
        ]);
    }
    

    Grouping logical things together, make the usage easier

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答