laravel " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

laravel澶氳〃鎬庝箞鑱斿悎鏌ヨ

扬州沐宇科技
2023-12-28 22:47:29
laravel

鍦↙aravel涓紝鍙互浣跨敤Eloquent ORM鏉ヨ繘琛屽琛ㄨ仈鍚堟煡璇€?/p>

鍋囪鎴戜滑鏈変袱涓〃锛屼竴涓槸users琛紝鍙︿竴涓槸posts琛ㄣ€倁sers琛ㄥ瓨鍌ㄤ簡鐢ㄦ埛鐨勪俊鎭紝鑰宲osts琛ㄥ瓨鍌ㄤ簡鐢ㄦ埛鍙戣〃鐨勫笘瀛愩€?/p>

鎴戜滑鍙互瀹氫箟涓や釜妯″瀷锛屼竴涓槸User妯″瀷锛屼竴涓槸Post妯″瀷銆傚湪User妯″瀷涓紝鎴戜滑鍙互瀹氫箟涓€涓笌Post妯″瀷鐨勫叧鑱斿叧绯伙細

class User extends Model
{
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

鍦≒ost妯″瀷涓紝鎴戜滑鍙互瀹氫箟涓嶶ser妯″瀷鐨勫叧鑱斿叧绯伙細

class Post extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

鐜板湪锛屾垜浠彲浠ヤ娇鐢ㄨ繖涓や釜妯″瀷杩涜鑱斿悎鏌ヨ銆備緥濡傦紝鎴戜滑鎯宠鑾峰彇鎵€鏈夌敤鎴蜂互鍙婁粬浠殑鍙戣〃鐨勫笘瀛愶紝鍙互浣跨敤浠ヤ笅浠g爜锛?/p>

$users = User::with('posts')->get();

foreach ($users as $user) {
    echo $user->name;

    foreach ($user->posts as $post) {
        echo $post->title;
    }
}

鍦ㄤ笂闈㈢殑浠g爜涓紝鎴戜滑浣跨敤with(鈥榩osts鈥?鏂规硶鏉ラ鍔犺浇鐢ㄦ埛鐨勫笘瀛愩€傝繖鏍凤紝鍦ㄨ幏鍙栫敤鎴锋暟鎹椂锛屽笘瀛愭暟鎹篃浼氳涓€璧疯幏鍙栵紝閬垮厤浜哊+1鏌ヨ鐨勯棶棰樸€?/p>

闄ゆ涔嬪锛岃繕鍙互浣跨敤鍏朵粬鏂规硶鏉ヨ繘琛屽琛ㄨ仈鍚堟煡璇紝渚嬪浣跨敤join鏂规硶鏉ユ墜鍔ㄦ寚瀹氳〃涔嬮棿鐨勫叧鑱斿叧绯伙細

$users = DB::table('users')
            ->join('posts', 'users.id', '=', 'posts.user_id')
            ->select('users.*', 'posts.title')
            ->get();

foreach ($users as $user) {
    echo $user->name;
    echo $user->title;
}

鍦ㄤ笂闈㈢殑浠g爜涓紝鎴戜滑浣跨敤join鏂规硶鏉ユ寚瀹歶sers琛ㄥ拰posts琛ㄤ箣闂寸殑鍏宠仈鍏崇郴锛屽苟浣跨敤select鏂规硶鏉ラ€夋嫨闇€瑕佺殑瀛楁銆?/p>

浠ヤ笂灏辨槸鍦↙aravel涓繘琛屽琛ㄨ仈鍚堟煡璇㈢殑鏂规硶銆傛牴鎹叿浣撶殑涓氬姟闇€姹傦紝鍙互閫夋嫨浣跨敤Eloquent妯″瀷鍏宠仈鎴栬€呬娇鐢ㄦ煡璇㈡瀯寤哄櫒鏉ヨ繘琛屽琛ㄨ仈鍚堟煡璇€?/p>

扫码添加客服微信