Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 5 使用laravel eloquent从相关表中删除所有记录_Laravel 5_Laravel Eloquent - Fatal编程技术网

Laravel 5 使用laravel eloquent从相关表中删除所有记录

Laravel 5 使用laravel eloquent从相关表中删除所有记录,laravel-5,laravel-eloquent,Laravel 5,Laravel Eloquent,我有三张桌子 Posts Likes Post_images. // Model Relations. Posts hasMany likes. Likes belongs to Posts. post hasMany PostImages post_imags belongs to Posts. 现在,当我删除一条post记录时,我想从likes表以及post_images表中删除它的相关记录,此外,这些图像也应该从存储中删除 我怎样才能做到这一点?非常感谢您的指导。如果我理解正确,您的问

我有三张桌子

Posts
Likes
Post_images.

// Model Relations.
Posts hasMany likes.
Likes belongs to Posts.
post hasMany PostImages
post_imags belongs to Posts.
现在,当我删除一条post记录时,我想从likes表以及post_images表中删除它的相关记录,此外,这些图像也应该从存储中删除


我怎样才能做到这一点?非常感谢您的指导。

如果我理解正确,您的问题应该是这样的。但是你不能删除有雄辩关系的图像。所以你需要做一些类似的事情

 $courses = \App\Course::all();
 foreach($courses $ $course){
      Storage::delete($course->image_column_name);
 }

 \App\Courses::with('sessions')->with('lessons')->delete();

我可以给你更好的答案,如果你能分享你的模型功能,数据库模式和存储信息,比如你在哪里存储课程图像

如果我理解正确,您的查询应该是这样的。但是你不能删除有雄辩关系的图像。所以你需要做一些类似的事情

 $courses = \App\Course::all();
 foreach($courses $ $course){
      Storage::delete($course->image_column_name);
 }

 \App\Courses::with('sessions')->with('lessons')->delete();
DB::table('users')->delete();
我可以给你更好的答案,如果你能分享你的模型功能,数据库模式和存储信息,比如你在哪里存储课程图像

DB::table('users')->delete();
将从“用户”表中删除所有用户


如果在中使用Models::Table('abilities')设置表名,则会从“user”表中删除所有用户

你可以用

    DB::table(Models::table('abilities'))->delete();
如本文所述,您可以

/**
 * Register the service provider.
 *
 * @return void
 */
public function register()
{
   Models::table('abilities');
}

如果在中使用Models::table('abilities')设置表名

你可以用

    DB::table(Models::table('abilities'))->delete();
如本文所述,您可以

/**
 * Register the service provider.
 *
 * @return void
 */
public function register()
{
   Models::table('abilities');
}

您是否使用eloquent定义了表之间的关系?显示您的表关系我已经更新了问题@rodraneh您是否使用eloquent定义了表之间的关系?显示你的表格关系我已经更新了问题@RodranePlease查看一下这个URL,它有完整的关系\App\Courses::with('sessions')->with('Courses')->delete();试试这个谢谢你,会有用的,但是我怎样才能删除这些图片呢?谢谢你,这就是我要找的嘿@KhiradBanu,如果他回答了这个问题,你应该把它标记为已回答。请查看这个URL,它有完整的关系\App\Courses::with('sessions')->with('Courses')->delete();试试这个谢谢你,会有用的,但是我怎样才能删除这些图片呢?谢谢你,这就是我要找的嘿@KhiradBanu,如果他回答了问题,你应该把它标记为已回答。