آموزش php (وبلاگ یک پی اچ پی کار)

آموزش زبان برنامه نویسی php , html , css , تجربیات یک برنامه نویس

۳ مطلب در ارديبهشت ۱۳۹۸ ثبت شده است

نحوه ساخت لینک ارجاع به storage لاراول (symbolic in laravel)

جهت ایجاد لینک ارجاع به مخزن فایل های لاراول یا storage بر روی کامپیوتر لوکال در CMD عبارت زیر رو وارد کنید :

php artisan storage:link
 

و در هاست اشتراکی هم میتونید یک فایل php در مسیری که میخواهید در آنجا لینک بسازید ایجاد کنید و کدهای زیر رو بسته به مسیر مبدا و مقصد درون اون قرار بدید و فایل رو اجرا کنید، به همین راحتی :

 

<?php

 

$targetFolder = dirname(dirname(__FILE__)).'/LaravelFiles/storage/app/public';
$linkFolder = dirname(dirname(__FILE__)).'/myaddondomain.ir/storage';
symlink($targetFolder,$linkFolder);
echo 'Success';

 

?>
۳۰ ارديبهشت ۹۸ ، ۱۹:۳۳ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

بروزرسانی کامپوزر توسط دستورات خودش

جهت بروزرسانی کامپوزر روی سیستم تان در ویندوز 10 وارد CMD شوید و دستور زیر را وارد نمائید:

composer self-update
توجه کنید که یک نسخه از کامپوزر از قبل روی سیستم تان نصب شده باشد.
۲۲ ارديبهشت ۹۸ ، ۱۴:۰۸ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی

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

احتمالا قصد راه اندازی یک شبکه اجتماعی دارید که در بخش روابط بین جداول کاربران و جدول میانجی فالورها مشکل دارید بنابراین با من همراه باشید تا با نحوه ایجاد جداول مربوط به بخش فالوو کاربران آشنا بشیم.

اگر خیلی خلاصه اش کنیم ، شما ابتدا یک جدول بنام کاربران ایجاد خواهید کرد که اطلاعات مایگریشن اون با فرض فیلدهایی که من در نظر گرفتم به شرح زیر خواهد بود :

 

Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('email');
$table->string('first_name');
$table->string('last_name');
$table->string('password');
$table->string('gender');
$table->rememberToken();
$table->timestamps();
});

 

شما بایستی یک جدول دیگر با اسم Followers ایجاد کنید که مایگریشن اون به شرح زیر باشه :

 

Schema::create('followers', function (Blueprint $table) {

 

$table->increments('id');
$table->integer('follower_id')->unsigned();
$table->integer('following_id')->unsigned();
$table->timestamps();
});

 

جدول followers متعلق به جدول users هست و دو تا کلید خارجی داریم داخلش داریم که هر دو به جدول users ارجاع داده شدن ، بنابراین کافیست شما وارد مدل User خودتون بشید که لاراول براتون در مسیر App\User ساخته و دو تا فانکشن زیر رو به آن اضافه کنید :

 

// users that are followed by this user
public function following() {
return $this->belongsToMany(User::class, 'followers', 'follower_id', 'following_id');
}

 

// users that follow this user
public function followers() {
return $this->belongsToMany(User::class, 'followers', 'following_id', 'follower_id');
}

 

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

$userA_object->following()->attach($userB_id);

که کاربر A قصد فالوو کاربر B رو داره و برای برداشتن فالوو هم از دستور زیر استفاده کنید :

$userA_object->following()->detach($userB_id);

برای دریافت لیست فالورهای یک کاربر هم از دستور زیر استفاده کنید :

$a_followers = $a->followers()->get();

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

$a_followers = $a->following()->get();

 

امیدوارم براتون مفید بوده باشه

 

 

۲۲ ارديبهشت ۹۸ ، ۱۰:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
مهندس مهدی حسامی