$lang['tuto'] = "سبق"; ?> لاریول کے ہاسمین رشتوں میں بغیر

لاریول کے ہاسمین رشتوں میں بغیر گلوبلسکوپ کے مسائل کو حل کرنا

Temp mail SuperHeros
لاریول کے ہاسمین رشتوں میں بغیر گلوبلسکوپ کے مسائل کو حل کرنا
لاریول کے ہاسمین رشتوں میں بغیر گلوبلسکوپ کے مسائل کو حل کرنا

لاریول میں عالمی اسکوپس اور ان کے چیلنجوں کو سمجھنا

لاریول کے ساتھ کام کرتے وقت ، عالمی اسکوپس آپ کے ماڈلز میں مستقل استفسار کی رکاوٹوں کو لاگو کرنے کے لئے ایک طاقتور ٹول ہیں۔ تاہم ، ایسے وقت بھی آتے ہیں جب آپ کو مزید اعداد و شمار لانے کے ل these ان رکاوٹوں کو نظرانداز کرنے کی ضرورت ہوتی ہے ، خاص طور پر تعلقات میں ہاسمینی. ایسے معاملات میں ، لاریول پیش کرتا ہے بغیر گلوبلسکوپ طریقہ ، جو آپ کو استفسار کے ل specific مخصوص اسکوپس کو خارج کرنے کی اجازت دیتا ہے۔

ڈویلپرز اکثر ایسے منظرناموں کا سامنا کرتے ہیں جہاں بغیر گلوبلسکوپ پیچیدہ تعلقات میں توقع کے مطابق طریقہ کار کام نہیں کرتا ہے۔ مثال کے طور پر ، آپ توقع کرسکتے ہیں کہ کسی استفسار سے متعلقہ تمام ریکارڈ بازیافت ہوں گے ، لیکن عالمی رکاوٹیں اب بھی نتائج کو متاثر کرتی ہیں۔ جیسے ماڈلز کے ساتھ کام کرتے وقت یہ مایوس کن ہوسکتا ہے انوینٹری سیریز جو ڈیٹا کو فلٹر کرنے کے لئے کسٹم اسکوپس کو نافذ کرتے ہیں۔

اس مضمون میں ، ہم ایک حقیقی زندگی کا معاملہ تلاش کریں گے جہاں بغیر گلوبلسکوپ طریقہ a میں تمام ریکارڈ بازیافت کرنے میں ناکام رہتا ہے ہاسمینی رشتہ ہم فراہم کردہ دائرہ کار ، متاثرہ ماڈلز ، اور یہ مسئلہ کیوں ہوتا ہے اس کا جائزہ لیں گے۔ ان تفصیلات کو سمجھنے سے ، آپ اپنے لاریول کی درخواست میں اس طرح کے مسائل کو حل کرنے اور حل کرنے کے بارے میں بصیرت حاصل کریں گے۔

اگر آپ بازیافت کرنے والے ریکارڈوں کے ساتھ جدوجہد کر رہے ہیں جس میں تمام اقدار شامل ہیں۔ ہم ان چیلنجوں کو نیویگیشن کرنے میں مدد کے ل data ڈیٹا بیس کے تعلقات اور کنٹرولر کوڈ سمیت عملی مثالوں کا اشتراک کریں گے۔ آئیے ڈوبکی! 🚀

حکم استعمال کی مثال
addGlobalScope اس طریقہ کار کو لاریول ماڈل میں اس ماڈل کے لئے تمام سوالات کے ساتھ عالمی استفسار کی گنجائش منسلک کرنے کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر: جامد :: ایڈگلوبالسکوپ (نیا انوینٹریئریسیسکوپ ()) ؛ کسی شرط کے ذریعہ نتائج کو فلٹر کرنے کے لئے کسٹم گنجائش کا اضافہ کرتا ہے۔
withoutGlobalScope تعلقات یا ماڈل سے استفسار کرتے وقت کسی مخصوص عالمی دائرہ کار کو خارج کرنے کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر: -> بغیر گلوبلاسکوپ (انوینٹریئریسیسکوپ :: کلاس) ایک مخصوص استفسار کے لئے انوینٹریئریسکوپ کو نظرانداز کرتا ہے۔
apply کسٹم اسکوپ کلاس میں درخواست دینے کے لئے منطق کی وضاحت کریں۔ مثال کے طور پر ، $ بلڈر-> جہاں ($ ٹیبل. '.س استعمال کیا جاتا ہے' ، 0) ؛ فلٹر ریکارڈ جہاں is_used برابر 0.
factory() لاریول ماڈل فیکٹریوں کو جانچ اور انکر کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر: گیٹ پاس آؤٹورڈ انٹریچائلڈ :: فیکٹری ()-> تخلیق () ماڈل کے لئے ٹیسٹ ریکارڈ تیار کرتا ہے۔
with بے چین بوجھ سے متعلق ماڈلز کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر: گیٹ پاس آؤٹورڈینٹریچائلڈ :: ('انوینٹریئریز' کے ساتھ) بچوں کے ماڈل اور ان سے متعلقہ ہیں انوینٹری سیریز.
getTable موجودہ ماڈل کے ٹیبل نام کو بازیافت کرتا ہے۔ مثال کے طور پر: $ ٹیبل = $ ماڈل-> گیٹ ٹیبل () ؛ اسکوپس میں متحرک سوالات کی تعمیر کے لئے مفید ہے۔
where استفسار کی رکاوٹوں کا اطلاق کرتا ہے۔ مثال کے طور پر: $ استفسار-> کہاں ('گیٹ پاس_آؤٹورڈ_چلڈ_ڈ' ، $ چائلڈ) ؛ ریکارڈ لاتا ہے جہاں غیر ملکی کلید دیئے گئے ID سے مماثل ہے۔
json() JSON جواب میں استفسار کے نتائج لوٹاتا ہے۔ مثال کے طور پر: واپسی کا جواب ()-> JSON ($ نتائج) ؛ APIs کے لئے موزوں شکل میں ڈیٹا آؤٹ پٹ کرتا ہے۔
assertCount ریکارڈوں کی تعداد کو یقینی بنانے کے لئے ایک جانچ کا طریقہ توقعات کو حاصل کرتا ہے۔ مثال کے طور پر: $ this-> assertCount (1 ، $ ڈیٹا) ؛ تصدیق کرتا ہے کہ صرف ایک ریکارڈ واپس آیا تھا۔
boot لاریول کی بوٹ جب ماڈل شروع کیا جاتا ہے تو طریقہ ماڈل سے متعلق فعالیت کو منسلک کرنے کی اجازت دیتا ہے۔ مثال: جامد :: بوٹ () ؛ عالمی اسکوپس یا واقعات کی وضاحت کے لئے استعمال کیا جاتا ہے۔

کس طرح لاریول عالمی دائرہ کار اور ان کے اخراجات کو سنبھالتے ہیں

لاریول میں ، عالمی اسکوپس ایک مخصوص ماڈل کے لئے تمام ڈیٹا بیس کے سوالات میں مستقل استفسار کی رکاوٹوں کو لاگو کرنے کا ایک آسان طریقہ ہے۔ مثال کے طور پر ، `انوینٹریئریسیسکوپ` میں ، ہم ریکارڈوں کو فلٹر کرنے کے لئے` اطلاق کا طریقہ استعمال کرتے ہیں جہاں `is_used` کالم 0 کے برابر ہوتا ہے۔ اس سے یہ یقینی بنتا ہے کہ جب بھی` انوینٹری سیریز` ماڈل استفسار کیا جاتا ہے تو ، نتائج میں صرف غیر استعمال شدہ انوینٹری ریکارڈ شامل ہوتے ہیں۔ تاہم ، ایسے منظرنامے موجود ہیں جہاں ڈویلپرز کو اس طرز عمل کو نظرانداز کرنے کی ضرورت ہے ، خاص طور پر میں تعلقات جہاں ان عالمی فلٹرز کے ذریعہ ڈیٹا کو محدود نہیں ہونا چاہئے۔

The `withoutGlobalScope` method comes in handy when such exceptions are required. In our example, the `GatePassOutwardEntryChild` model defines a `hasMany` relationship with the `InventorySeries` model. By applying `->جب اس طرح کے مستثنیات کی ضرورت ہوتی ہے تو `بغیر گلوبلسکوپ کا طریقہ کار میں آتا ہے۔ ہماری مثال میں ، `گیٹ پاس آؤٹورڈینٹریچائلڈ` ماڈل` انوینٹریئرسیری ماڈل کے ساتھ `ہاسمین` تعلقات کی وضاحت کرتا ہے۔ اس رشتے میں `-> بغیر گلوبلاسکوپ (انوینٹریئریسیسکوپ :: کلاس) کا اطلاق کرکے ، ہم لاریول کو ہدایت کرتے ہیں کہ وہ متعلقہ ریکارڈ لانے کے دوران عالمی دائرہ کار کو نظر انداز کریں۔ یہ نقطہ نظر اس وقت ضروری ہے جب آپ کو انوینٹری کے تمام ریکارڈوں کو بازیافت کرنے کی ضرورت ہو ، بشمول `is_used` کے ساتھ 0 اور 1 دونوں پر سیٹ کریں۔ اس طریقہ کار کے بغیر ، عالمی دائرہ کار اہم اعداد و شمار کو فلٹر کرے گا ، جس کے نتیجے میں نامکمل نتائج برآمد ہوں گے۔ 🚀

The controller code utilizes eager loading with the `with` method to load the `inventorySeries` relationship alongside the `GatePassOutwardEntryChild` model. Eager loading improves performance by minimizing the number of queries to the database. For instance, `$data['child'] = GatePassOutwardEntryChild::with('inventorySeries')->کنٹرولر کوڈ `گیٹ پاس آؤٹورڈینٹریچائلڈس ماڈل کے ساتھ ساتھ` انوینٹریئریز` تعلقات کو لوڈ کرنے کے لئے `کے ساتھ` کے ساتھ بے چین لوڈنگ کا استعمال کرتا ہے۔ بے چین لوڈنگ ڈیٹا بیس میں سوالات کی تعداد کو کم سے کم کرکے کارکردگی کو بہتر بناتی ہے۔ مثال کے طور پر ، `$ ڈیٹا ['چائلڈ'] = گیٹ پاس آؤٹورڈینٹریچائلڈ :: ('انوینٹری سیریز') کے ساتھ:> get () ؛ child ایک ہی سوال میں بچوں کے ریکارڈ اور ان کی اس سے متعلق انوینٹری سیریز دونوں کو حاصل کرتا ہے۔ یہ خاص طور پر حقیقی دنیا کے منظرناموں میں مفید ہے جہاں متعدد متعلقہ ریکارڈوں کو ایک ساتھ ظاہر کرنے کی ضرورت ہے ، جیسے انوینٹری مینجمنٹ ڈیش بورڈ میں۔

ایسے معاملات میں جہاں اعلی درجے کی جانچ کی ضرورت ہوتی ہے ، لاریول کی فیکٹریوں اور یونٹ ٹیسٹ ڈویلپرز کو اپنے کوڈ کو درست کرنے کی اجازت دیتے ہیں۔ مثال کے طور پر ، `فیکٹری ()` طریقہ استعمال کیا جاتا ہے تاکہ `گیٹ پاس آؤٹ فارورڈینٹریچائلڈ` اور` انوینٹریئرسیری ماڈلز کے لئے مذاق کا ڈیٹا بنایا جاسکے۔ یہ توقع کے مطابق تعلقات اور عالمی دائرہ کار کے کام کو خارج کرنے کو یقینی بناتا ہے۔ مزید یہ کہ ، ٹیسٹوں میں `assertCount` کا استعمال کرتے ہوئے اس بات کی تصدیق ہوتی ہے کہ ریکارڈوں کی صحیح تعداد بازیافت کی گئی ہے۔ مثال کے طور پر ، اگر کسی انوینٹری بچے نے استعمال اور غیر استعمال شدہ دونوں اشیاء استعمال کیں تو ، ٹیسٹ اس بات کی تصدیق کرے گا کہ تمام اشیاء نتائج میں ظاہر ہوتی ہیں۔ یہ ٹولز اعتماد فراہم کرتے ہیں کہ تمام ماحول میں درخواست صحیح طور پر برتاؤ کرتی ہے۔ 🛠

لاریول کے ہاسمین رشتوں میں بغیر گلوبلسکوپ کے مسئلے کو سنبھالنا

بہتر اور ماڈیولر کوڈ کے ساتھ لاریول کے فصاحت ORM کا استعمال کرتے ہوئے پسدید حل

<?php
namespace App\Scopes;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
// Define the custom scope for InventorySeries
class InventorySeriesScope implements Scope {
    public function apply(Builder $builder, Model $model) {
        $table = $model->getTable();
        $builder->where($table . '.is_used', 0);
    }
}

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Scopes\InventorySeriesScope;
class InventorySeries extends Model {
    protected static function boot() {
        parent::boot();
        static::addGlobalScope(new InventorySeriesScope());
    }
}

namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class GatePassOutwardEntryChild extends Model {
    public function inventorySeries() {
        return $this->hasMany(InventorySeries::class, 'gatepass_outward_child_id', 'id')
                    ->withoutGlobalScope(InventorySeriesScope::class);
    }
}

namespace App\Http\Controllers;
use App\Models\GatePassOutwardEntryChild;
class ExampleController extends Controller {
    public function getInventorySeriesWithoutScope() {
        $data['child'] = GatePassOutwardEntryChild::with(['inventorySeries' => function ($query) {
            $query->withoutGlobalScope(InventorySeriesScope::class);
        }])->get();
        return $data['child'];
    }
}

تمام ڈیٹا لانے کے لئے خام سوالات کا استعمال کرتے ہوئے متبادل حل

عالمی اسکوپس کو مکمل طور پر نظرانداز کرنے کے لئے براہ راست ڈیٹا بیس کے سوالات

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class ExampleController extends Controller {
    public function getAllInventorySeries() {
        $results = DB::table('inventory_series')
                   ->where('gatepass_outward_child_id', $childId)
                   ->get();
        return response()->json($results);
    }
}

حل کی توثیق کرنے کے لئے یونٹ ٹیسٹ شامل کرنا

عالمی اسکوپس کے ساتھ اور اس کے بغیر ڈیٹا لانے کی توثیق کرنے کے ل Lar لارویل یونٹ ٹیسٹ

<?php
namespace Tests\Feature;
use Tests\TestCase;
use App\Models\GatePassOutwardEntryChild;
use App\Models\InventorySeries;
class ScopeTest extends TestCase {
    public function testWithoutGlobalScope() {
        $child = GatePassOutwardEntryChild::factory()->create();
        InventorySeries::factory()->create(['gatepass_outward_child_id' => $child->id, 'is_used' => 1]);
        $data = $child->inventorySeries;
        $this->assertCount(1, $data);
    }
}

لاریول میں عالمی اسکوپس اور تعلقات میں مہارت حاصل کرنا

لاریول میں اکثر نظرانداز لیکن طاقتور خصوصیت کی وضاحت اور انتظام کرنے کی صلاحیت ہے عالمی اسکوپس. یہ ڈویلپرز کو استفسار کی رکاوٹوں کا اطلاق کرنے کی اجازت دیتے ہیں جو ماڈل کے لئے تمام سوالات میں خود بخود شامل ہوجاتے ہیں۔ مثال کے طور پر ، ہمارے منظر نامے میں `انوینٹریئریسیسکوپ` کو یقینی بناتا ہے کہ صرف اشیا غیر استعمال شدہ (جہاں` is_used = 0`) کے نام سے نشان زد ہوں۔ یہ انتہائی فائدہ مند ہے جب آپ کی درخواست میں آپ کے سسٹم کے متعدد حصوں میں یکساں ڈیٹا فلٹرنگ کی ضرورت ہوتی ہے ، جیسے رپورٹس یا ڈیش بورڈز میں۔ تاہم ، تعلقات میں ان اسکوپس کو سنبھالنے سے بعض اوقات غیر متوقع نتائج برآمد ہوسکتے ہیں ، خاص طور پر اگر ان کو احتیاط سے تشکیل نہیں دیا گیا ہے۔

An important aspect of working with global scopes in Laravel is learning how to bypass them when necessary. The `withoutGlobalScope` method lets you selectively ignore specific scopes in queries. For instance, in the `GatePassOutwardEntryChild` model, using `->لاریول میں عالمی اسکوپس کے ساتھ کام کرنے کا ایک اہم پہلو یہ سیکھ رہا ہے کہ جب ضروری ہو تو انہیں نظرانداز کریں۔ `بغیر گلوبلاسکوپ کا طریقہ آپ کو سوالات میں مخصوص اسکوپس کو منتخب طور پر نظرانداز کرنے دیتا ہے۔ مثال کے طور پر ، `گیٹ پاس آؤٹورڈینٹریچائلڈ` ماڈل میں ، بغیر کسی گلوبلاسکوپ (انوینٹریئریسیسکوپ :: کلاس) کا استعمال کرتے ہوئے ، اس بات کو یقینی بناتا ہے کہ ان کی انوینٹری کی تمام اشیاء ، قطع نظر ان کی` is_used` حیثیت سے قطع نظر ، بازیافت کی جائیں۔ یہ خاص طور پر ان معاملات میں مفید ہے جہاں ڈیٹا کی مکمل مرئیت کی ضرورت ہوتی ہے ، جیسے آڈیٹنگ سسٹم یا بیک اینڈ تجزیات جہاں فلٹرنگ سے اہم معلومات غائب ہوسکتی ہیں۔ 🚀

ایک اور پہلو جو دریافت کرنے کے قابل ہے وہ یہ ہے کہ عالمی اسکوپس کس طرح بے چین لوڈنگ کے ساتھ تعامل کرتے ہیں۔ جب کہ بے چین لوڈنگ سوالات کی تعداد کو کم کرکے کارکردگی کو بہتر بناتی ہے ، اس بات کی تصدیق کرنا ضروری ہے کہ ڈیٹا آپ کی درخواست کی ضروریات کے مطابق ہے۔ مثال کے طور پر ، کنٹرولر مثال میں ، بے چین لوڈنگ کو `بغیر گلوبلسکوپ` کے ساتھ ملایا جاتا ہے تاکہ یہ یقینی بنایا جاسکے کہ دائرہ کار سے حاصل کردہ اعداد و شمار کو محدود نہیں کرتا ہے۔ جب حقیقی دنیا کی ایپلی کیشنز ، جیسے ملٹی لیول انوینٹری سسٹم یا درجہ بندی تنظیمی اعداد و شمار میں پیچیدہ تعلقات سے نمٹنے کے دوران یہ مجموعہ انتہائی موثر ہے۔ 🛠

لاریول میں عالمی اسکوپس کے بارے میں عام سوالات

  1. لاریول میں عالمی اسکوپس کا مقصد کیا ہے؟
  2. عالمی اسکوپس کو کسی خاص ماڈل کے ل all تمام سوالات کے لئے خود بخود رکاوٹوں کا اطلاق کرنے کے لئے استعمال کیا جاتا ہے ، جس سے پورے اطلاق میں مستقل فلٹرنگ کو یقینی بنایا جاسکے۔
  3. میں کسی سوال سے عالمی دائرہ کار کو کیسے ختم کروں؟
  4. استعمال کریں withoutGlobalScope کسی خاص دائرہ کار کو خارج کرنے کا طریقہ۔ مثال: ->withoutGlobalScope(ScopeClass::class).
  5. کیا میں کسی ماڈل میں متعدد عالمی اسکوپس کا اطلاق کرسکتا ہوں؟
  6. ہاں ، آپ استعمال کرکے کسی ماڈل میں متعدد اسکوپس شامل کرسکتے ہیں addGlobalScope میں ہر دائرہ کار کے لئے طریقہ کار boot ماڈل کا طریقہ۔
  7. میں لاریول میں عالمی اسکوپس کی جانچ کیسے کروں؟
  8. فیکٹریوں اور ٹیسٹ کے منظرنامے بنانے کے ل Lar لارویل کے ٹیسٹنگ فریم ورک کا استعمال کریں۔ مثال کے طور پر ، اس بات کی تصدیق کریں کہ ایک دائرہ کار والا ماڈل جس کے ساتھ لاگو ہوتا ہے اس کے ساتھ صحیح ڈیٹا لاتا ہے assertCount.
  9. بے چین لوڈنگ کیا ہے ، اور یہ عالمی اسکوپس کے ساتھ کس طرح بات چیت کرتا ہے؟
  10. کارکردگی کو بہتر بنانے کے لئے بے چین لوڈنگ پری لوڈ سے متعلق ڈیٹا۔ جب استعمال کیا جائے withoutGlobalScope، یہ یقینی بناتا ہے کہ متعلقہ اعداد و شمار کو بغیر کسی رکاوٹوں کے لائے گئے ہیں۔
  11. کیا عالمی اسکوپس مشروط ہوسکتے ہیں؟
  12. ہاں ، آپ اس میں منطق کا اطلاق کرکے عالمی دائرہ کار کو مشروط بنا سکتے ہیں apply درخواست پیرامیٹرز یا دیگر شرائط پر مبنی طریقہ۔
  13. عالمی اور مقامی اسکوپس میں کیا فرق ہے؟
  14. عالمی اسکوپس تمام سوالات پر خود بخود لاگو ہوتی ہیں ، جبکہ مقامی اسکوپس کو دستی طور پر اس طرح کے طریقوں کا استعمال کرتے ہوئے طلب کیا جاتا ہے ->scopeName().
  15. میں لاریول میں دائرہ کار سے متعلق امور کو کس طرح ڈیبگ کرسکتا ہوں؟
  16. استعمال کریں dd() یا toSql() سوالات پر معائنہ کرنے کے لئے کہ عالمی اسکوپس ان پر کس طرح اثر انداز ہوتی ہیں۔
  17. کیا میں اسکوپس کو بائی پاس کرنے کے لئے کچے سوالات کا استعمال کرسکتا ہوں؟
  18. ہاں ، خام سوالات کے ساتھ DB::table() فصاحت کے عالمی اسکوپس کو مکمل طور پر نظرانداز کریں۔
  19. کیا متحرک طور پر عالمی دائرہ کار کو اوور رائڈ کرنا ممکن ہے؟
  20. ہاں ، آپ دائرہ کار میں منطق میں ترمیم کرسکتے ہیں apply اس کے طرز عمل کو متحرک طور پر اوور رائڈ کرنے کے لئے استفسار کی رکاوٹوں کا طریقہ یا استعمال کریں۔

موثر ڈیٹا بازیافت کے لئے کلیدی راستہ

لاریول میں عالمی اسکوپس مستقل استفسار فلٹرنگ کو نافذ کرنے کا ایک مضبوط طریقہ فراہم کرتے ہیں ، لیکن جب ڈیٹا کی مکمل نمائش کی ضرورت ہوتی ہے تو وہ تعلقات کے سوالات کو پیچیدہ بنا سکتے ہیں۔ فائدہ اٹھا کر بغیر گلوبلسکوپ، ڈویلپر ان رکاوٹوں کو منتخب طور پر خارج کرسکتے ہیں اور انوینٹری مینجمنٹ جیسے حقیقی دنیا کی ایپلی کیشنز میں لچک کو بہتر بناتے ہوئے ، تمام ضروری ریکارڈوں کو حاصل کرسکتے ہیں۔ 🛠

اگرچہ یہ طریقے ڈیٹا ہینڈلنگ کو ہموار کرتے ہیں ، لیکن ان کو زیادہ سے زیادہ کارکردگی اور درستگی کے لئے بے چین لوڈنگ اور یونٹ ٹیسٹنگ کے ساتھ جوڑنا ضروری ہے۔ یہ یقینی بناتا ہے کہ پیچیدہ تعلقات میں بھی ، جیسے ہاسمینی، تمام متعلقہ اعداد و شمار غیر ضروری فلٹرنگ کے بغیر لائے جاتے ہیں۔ ان حکمت عملیوں کے ساتھ ، ڈویلپر لارویل کے فصاحت ORM کی پوری صلاحیت کو غیر مقفل کرسکتے ہیں اور موثر ، توسیع پذیر ایپلی کیشنز کی تشکیل کرسکتے ہیں۔ 🚀

لاریول حل کے لئے حوالہ جات اور ذرائع
  1. لاریول فصاحت اسکوپس پر تفصیلی دستاویزات: لاریول آفیشل دستاویزات .
  2. لاریول میں تعلقات کو سنبھالنے کے لئے بہترین عمل: لاریول نیوز - فصاحت کے اشارے .
  3. تعلقات کے ساتھ لاریول ماڈل کی جانچ کے بارے میں بصیرت: پشر بلاگ - فصاحت ماڈل کی جانچ کرنا .