我是laravel和php的新手,我试图在Laravel 5.1中设置一个表单,用户可以在youtube中输入url,然后在提交后,视频可以嵌入到他的页面然后如果以后需要编辑。任何帮助将不胜感激,谢谢你提前! 这就是我尝试在控制器中设置的方式:
public function postCreateVideo(CreateVideoRequest $request)
{
$user = Auth::user();
}
Video::create
(
[
'video' => $request->get('video_id'),
'user_id' => $user->id
]
);
return redirect('validated/videos/')->with(['video_created' =>'The video has been created']);
}
public function VideoID($video_url)
{
if(strlen($video_url) > 11)
{
if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $video_url, $match))
{
return $match[1];
}
else
return false;
}
return $video_id;
}
public function setKeyAttribute($value)
{
$this->attributes['key'] = $this->VideoId($value);
}
}
答案 0 :(得分:0)
在你的方法中,我看到了:
return $video_id;
但$ video_id永远不会设置。我认为这就是为什么这段代码无效。
此外,您返回不同类型的值:
最好在方法中返回相同的类型。