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条)

报告相同问题?

悬赏问题

  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效