راکت
محمد
محمد
توسط محمد مطرح شد
حل
7 پاسخ

مشکل در دو متد آپدیت

من منویی به نام اخبار دارم که کاربر خبر ایجاد میکنه و هم بروز رسانی که تا اینجا مشکلی ندارم.
اما در جدول اخبار من فیلدی به نام approved دارم که بصورت پیشفرض 0 هست وقتی خبر ایجاد میشه در لیست تایید نشده ها میاد حالا کاربر باید تایید کنه در این تایید فقط فیلد approved باید آپدیت بشه و به 1 تغییر کنه تا در لیست تایید شده بیاد.
آیا باید دو متد آپدیت بزارم؟
در قسمت routes و کنترلر باید جیکار کنم. ممنون میشم با کد بهم بگید.

@saeedkarimi454
@hhp14111
@reza.kazemi


ثبت پرسش جدید
مرتضی صبیحی
مرتضی صبیحی
تخصص : Front-end developer
@mortezasabihi7 سال پیشمطرح شد
0

شما باید یک روت ایجاد کنید و بعد تو کنترلرتون یه متد

    public function approved(Comment $comment)
        {
            $comment->approved = 1;
            $comment->save();

            return back();
        }

همینو برای اخبارتون پیاده کنید

اینم روت:

        Route::post('/{comment}/approved', 'CommentController@approved')->name('admin.comment.approved');

vahid Mohammadi
vahid Mohammadi
@viva.mohammadi7 سال پیشمطرح شد
0

@manvfx
سلام ببخشید من منظورتون رو درست متوجه نشدم چیه میشه لطفا دقیق تر سناریو رو توضیح بدین


محمد
محمد
@man7 سال پیشمطرح شد
0

من در قسمت ادمین سایت کاربر نویسنده میتونه خبر ایجاد کنم و ویرایش کنم که بدرستی هم کار میکنه
اما در جدول خبر یک فیلد با نام approved که بصورت پیشفرض 0 هست و ادمین کل سایت تا اینکه خبر را تایید نکنه و فیلد approved در دیتابیس مقدارش 1 نشه. کاربران نمیتونند خبر را ببینند.
من یک متد آپدیت که بخودی خود دارم که خبر ایجاد شده را کاربری نویسنده ویرایش میکنه.
اما یک متد آپدیت هم میخام بزارم برای ادمین که در لیست اخبار تایید نشده بتونه با زدن دکمه تایید بتونه خبر را آپدیت کنه یعنی فیلد approved در دیتابیس آپدست بشه. باید در view و کنترلر چه کار کنم؟

@viva.mohammadi


Masiht
Masiht
تخصص :برنامه نویس سمت سرور (php)
@masiht7 سال پیشمطرح شد
0

با سلام این فرآیند شما تقریبا شبیه سیستم نظردهی و کامنت سایت ها هست !

شما برای بخش ادمین یک بخشی برای تایید مطلب می گزارید.

برای نمایش هم :
return $this->hasMany(Test::class , 'parent_id' , 'id')->where('approved' , 1)->latest();


محمد
محمد
@man7 سال پیشمطرح شد
0

بله شبیه هست ولی منظور من چیز دیگه هست فرق میکنه این موردی که شما نوشته اید

@masiht


مرتضی صبیحی
مرتضی صبیحی
تخصص : Front-end developer
@mortezasabihi7 سال پیشمطرح شد
0

شما باید یک روت ایجاد کنید و بعد تو کنترلرتون یه متد

    public function approved(Comment $comment)
        {
            $comment->approved = 1;
            $comment->save();

            return back();
        }

همینو برای اخبارتون پیاده کنید

اینم روت:

        Route::post('/{comment}/approved', 'CommentController@approved')->name('admin.comment.approved');

محمد
محمد
@man7 سال پیشمطرح شد
0

من اینجا ارور دارم:
‍‍‍‍‍

ErrorException (E_ERROR)  
Route [posts.approved] not defined. (View: E:MyProjectmainhafars esourcesiewsadminpostsapproved.blade.php)

روت:

$this->post('posts/approved', 'PostController@approved')->name('posts.approved');
<form style="margin-right: 5px" action="{{ route('posts.approved') }}" method="post">
{{ method_field('patch') }}
{{ csrf_field() }}
<button type="submit" class="btn btn-xs btn-success">تایید</button>
</form>

@mortezasb87


محمد
محمد
@man7 سال پیشمطرح شد
0

درست شد ایول


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام