Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Php 如何在laravel中同时删除和更新两个不同表中的数据?_Php_Mysql_Laravel - Fatal编程技术网

Php 如何在laravel中同时删除和更新两个不同表中的数据?

Php 如何在laravel中同时删除和更新两个不同表中的数据?,php,mysql,laravel,Php,Mysql,Laravel,我是一名学生,刚到拉雷维尔 `我有一个音乐应用程序,有三种不同的用户类型,即类型为3的“用户”、“类型为2的DJ”和类型为1的“管理员” pada halaman管理员是daftar用户和DJ“hapus” DJ名单 ID_______| 1 __________ | 2 __________ | NAME____ | john_______ | jane________ | CHANNEL | john channel | jane channel | ACTION

我是一名学生,刚到拉雷维尔 `我有一个音乐应用程序,有三种不同的用户类型,即类型为3的“用户”、“类型为2的DJ”和类型为1的“管理员”

pada halaman管理员是daftar用户和DJ“hapus”

DJ名单

ID_______| 1 __________ | 2 __________ |    
NAME____ | john_______  | jane________ |    
CHANNEL  | john channel | jane channel |    
ACTION__ | delete ______| delete ______|
用户列表

ID _____| 3 ____ | 4 ____ |
NAME__  | dave__ | mike__ |
ACTION  | delete | delete |
这就是我需要的

如果管理员在用户上单击“删除”,我只想删除用户表上的所有数据本身

如果管理员在DJ上单击“delete”,我想从users表中删除他的所有数据,并将与channel表上DJ的id值相同的user_id更新为“NULL”

我能做些什么来得到这些东西

用户表

ID______| 1___ | 2___ | 3___ | 4____|
TYPE_ID | 2___ | 2___ | 3___ | 3____|
NAME __ | john | jane | dave | mike |
通道表

ID______| 1__________  | 2__________  | 3_________ |
USER_ID | 1__________  | 2__________  | NULL_____  |
NAME __ | john channel | jane channel | Channel #3 |
这是我的控制器

UserController.php

public function index()
{
     $djs = User::join('channels', 'users.id', '=', 'channels.user_id')
                     ->select('users.*', 'channels.name as channel_name')
                     ->where('type_id', '=', '2')
                     ->orderBy('updated_at', 'desc')
                     ->get();
     $users = User::where('type_id', '=', '3')->orderBy('created_at', 'desc')->get();

 return view('dashboard.manageUsers', compact('users', 'djs'));
}

public function destroy(channel $channel, $id)
{
    User::find($id)->delete();

    $channel = App\Channel::find($channel->id);
    $channel->user_id = NULL;
    $channel->save();

    return redirect('/dash/manage-users');
}
routes/web.php

Route::delete('/users/{id}/delete', 'UserController@destroy');
manageUsers.blade.php

<h5 class="light">DJ List</h5>
<table>
    <thead>
        <tr>
            <th>id</th>
            <th>name</th>
            <th>channel</th>
            <th>action</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($djs as $dj)
                <tr>
                    <td>{{ $dj->id }}</td>
                    <td>{{ $dj->name }}</td>
                    <td>{{ $dj->channel_name }}</td>
                    <td>
                        <form method="POST" action="/users/{{ $dj->id }}/delete">
                        {{ csrf_field() }}
                            {{ method_field('DELETE') }}
                        <button class="btn-flat">delete</button>
                    </form>
                    </td>
            </tr>
        @endforeach
    </tbody>
</table>

<h5 class="light">User List</h5>
<table>
    <thead>
        <tr>
            <th>id</th>
            <th>name</th>
            <th>action</th>
        </tr>
    </thead>
    <tbody>
        @foreach ($users as $user)
                <tr>
                    <td>{{ $user->id }}</td>
                    <td>{{ $user->name }}</td>
                    <td>
                        <form method="POST" action="/users/{{ $user->id }}/delete">
                        {{ csrf_field() }}
                            {{ method_field('DELETE') }}
                        <button class="btn-flat">delete</button>
                    </form>
                    </td>
            </tr>
        @endforeach
    </tbody>
</table>
DJ列表
身份证件
名称
频道
行动
@foreach($dj作为$dj)
{{$dj->id}
{{$dj->name}
{{$dj->channel_name}
{{csrf_field()}}
{{method_field('DELETE')}
删除
@endforeach
用户列表
身份证件
名称
行动
@foreach($users作为$user)
{{$user->id}
{{$user->name}
{{csrf_field()}}
{{method_field('DELETE')}
删除
@endforeach
//删除
公共功能销毁(Post$Post)
{
//用于图像编码的删除
如果(存储::磁盘('public')->存在('uploads/post/'.$post->image))
{
存储::磁盘('public')->delete('uploads/post/'。$post->image);
}
//删除zipfile的代码
如果(存储::磁盘('public')->存在('uploads/zip/'.$post->zip))
{
存储::磁盘('public')->delete('uploads/zip/'。$post->zip);
}
$post->categories()->detach();
$post->tags()->detach();
$post->delete();
Toastr::success('Post Successfully Deleted:)','success');
返回重定向()->back();
}
//更新
公共功能更新(请求$Request,发布$Post)
{
$this->validate$请求[
'title'=>'required',
“图像”=>“图像”,
“类别”=>“必需”,
'标记'=>'必需',
“正文”=>“必需”,
“实时演示”=>“必需”
]);
$image=$request->file('image');
$slug=str_slug($request->title);
如果(isset($image))
{
$currentDate=Carbon::now()->toDateString();
$imagename=$slug.-'.$currentDate.-'.uniqid().$image->getClientOriginalExtension();
$image\u resize=image::make($image->getRealPath());
$image_resize->resize(16001066);
如果(!file_存在('storage/uploads/post'))
{
mkdir('storage/uploads/post',0777,true);
}
取消链接('storage/uploads/post/'。$post->image);
$image_resize->save('storage/uploads/post/'。$imagename);
}否则{
$imagename=$post->image;
}
$post->user_id=Auth::id();
$post->title=$request->title;
$post->slug=str_slug($request->title);
$post->image=$imagename;
$post->zip=$zipname;
$post->body=$request->body;
$post->price=$request->price;
$post->live\u demo=$request->live\u demo;
if(设置($request->status))
{
$post->status=true;
}否则
{
$post->status=false;
}
$post->is_approved=true;
$post->save();
$post->categories()->sync($request->categories);
$post->tags()->sync($request->tags);
Toastr::success('Post Successfully Updated:)','success');
return redirect()->route('admin.post.index');
}
//刀片
{{{('delete')}
@csrf
@方法('DELETE')

欢迎来到SO!请原谅我,但什么是pada halaman admin terdapat daftar用户dan juga DJ dengan aksi hapus?
//delete
 public function destroy(Post $post)
    {
        // Delete for image coding
       if(Storage::disk('public')->exists('uploads/post/'.$post->image))
       {
           Storage::disk('public')->delete('uploads/post/'.$post->image);
       }
    // Delete code for zipfile
       if(Storage::disk('public')->exists('uploads/zip/'.$post->zip))
       {
           Storage::disk('public')->delete('uploads/zip/'.$post->zip);
       }
        $post->categories()->detach();
        $post->tags()->detach();
        $post->delete();
        Toastr::success('Post Successfully Deleted :)','Success');
        return redirect()->back();
    }

//update

    public function update(Request $request, Post $post)
    {
         $this->validate($request,[
            'title' =>'required',
            'image' => 'image',
            'categories' => 'required',
            'tags' => 'required',
            'body' => 'required',
             'live_demo' =>'required'
        ]);





          $image = $request->file('image');
        $slug = str_slug($request->title);
        if (isset($image))
        {
            $currentDate = Carbon::now()->toDateString();
            $imagename = $slug.'-'.$currentDate.'-'. uniqid() .'.'. $image->getClientOriginalExtension();
            $image_resize = Image::make($image->getRealPath());   
            $image_resize->resize(1600,1066);
            if (!file_exists('storage/uploads/post'))
            {
                mkdir('storage/uploads/post',0777,true);
            }
            unlink('storage/uploads/post/'.$post->image);
            $image_resize->save('storage/uploads/post/'.$imagename);
        }else{
            $imagename = $post->image;
        }

        $post->user_id = Auth::id();
        $post->title = $request->title;
        $post->slug = str_slug($request->title);
        $post->image = $imagename;
        $post->zip = $zipname;
        $post->body = $request->body;
        $post->price = $request->price;
        $post->live_demo = $request->live_demo;
        if(isset($request->status))
            {
                $post->status =true;
            }else
            {
                $post->status = false;
            }
        $post->is_approved = true;
        $post->save();
        $post->categories()->sync($request->categories);
        $post->tags()->sync($request->tags);



        Toastr::success('Post Successfully Updated:)','Success');
        return redirect()->route('admin.post.index');
    }

//blade
<button class="btn btn-danger waves-effect" type="button" onclick="deletepost({{ $post->id }})">
                                            <i class="material-icons">{{__('delete')}}</i>
                                        </button>
                                        <form id="delete-form-{{ $post->id }}" action="{{ route('admin.post.destroy',$post->id) }}" method="POST" style="display: none;">
                                            @csrf
                                            @method('DELETE')
                                        </form>