حذف کردن موارد تکراری در لاراول .

چطوری میشه بگیم که اگه این مورد تکراری شد در دیتابیس ‌ذخیره نکن و به ادامه کار رو انجام بده ارور نده
مثلا ما فیلد title در دیتابیس داریم به صورت دستی اولین بار aliرو میگیره دومین بار هم ali رو میگیره اما دخیره نمیکنه چون وجود داره و کار رو ناتمام نمیگذاره و سومین بار reza رو میگیره
چطوری این موارد تکراری رو حذف کنم لطفا با مثال

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

سلام  دوست عزیز شما هم می تونید اول دستی همه ای ستون های جدول رو انتخاب کنید و با یک حلقه ای تکرار چک کنید که اصلا پیشنهاد نمی شه.

در لاراول امکان اعتبار سنجی قبلا از ذخیره است مانند نمونه کد زیر:

 $validatedData = $request->validate([
        'title' => 'required|unique:posts|max:255',
    ]);
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

من ۱۰۰ تا لینک داخل یک فایل تکست دارم می خواهم نگاه کنه اگه لینکی تکراری بود رو پاک کنه

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

شما می تونید فایل تکست رو بخونید و بریزید توی یک آرایه ای و به راحتی چک کنید که کدوم آرایه ها تکراری هستن

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

میشه کدشو بزنید برای نمونه                      

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

ساختار فایل شما رو نمی دونم با فرض این که داخل فایل تکست لینک ها اینجوری هستن:

https://sokanacademy.com/plus
https://sokanacademy.com/blog/all
https://sokanacademy.com/mentoring
https://sokanacademy.com/blog/all
https://sokanacademy.com/mentoring

هم در پی اچ پی و هم در لاراول می تونید لینک ها رو از فایل تکست بخونید و داخل متغییرfileLinks مقدار دهی کنید.

داخل فایل پی اچ پی:

# PHP File Get Content
$fileLinks=file_get_contents('links.txt');

# Laravel File Get Content
//$fileLinks =Storage::get('links.txt');
$links=explode(PHP_EOL,$fileLinks) ;

$originalLinks=[];
foreach ($links as $link){
    if(!in_array($link,$originalLinks)){
        array_push($originalLinks,$link);
    }
}
echo '<pre>';
print_r([
    'all_links'=>$links,
    'no_repeated_links'=>$originalLinks
]);
echo '</pre>';

توضیحات لازم رو داخلش دادم ولی اگه بازم جایی رو متوجه نشدید توضیح می دم.

و اینم خروجی بعد از اجرا:

<pre>Array
(
    [all_links] =&gt; Array
        (
            [0] =&gt; https://sokanacademy.com/plus
            [1] =&gt; https://sokanacademy.com/blog/all
            [2] =&gt; https://sokanacademy.com/mentoring
            [3] =&gt; https://sokanacademy.com/blog/all
            [4] =&gt; https://sokanacademy.com/mentoring
        )

    [no_repeated_links] =&gt; Array
        (
            [0] =&gt; https://sokanacademy.com/plus
            [1] =&gt; https://sokanacademy.com/blog/all
            [2] =&gt; https://sokanacademy.com/mentoring
        )

)
</pre>
sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

ممنون

sokanacademy forum
کاربر سکان آکادمی 5 سال پیش

اگه در داخل این فایل چندین عدد داشتیم چطوری می تونیم بگیم که بر اساس بزرگترین عدد بیا مرتب کن تا کوچکترین عدد

online-support-icon