Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Laravel 5 Membuat Record Baru yang Menjadi Milik 3 Tabel Lainnya

Saya tidak mengerti mengapa membuatnya begitu rumit?

coba ini:

Solusi 1

$User = User::find(Auth::id()); 
if(!$User) {
    return 'no user';
}

$Region = Region::find($request->input('region_id'));
if(!$Region) {
    return 'no region';
}

$locationData = $request->only('street_address', 'city', 'province', 'country', 'postal_code');
$Location = Location::firstOrCreate($locationData);

$rentalData = [
    'user_id' => $User->id, 
    'region_id' => $Region->id, 
    'location_id' => $Location->id
];
$Rental = Rental::firstOrCreate($rentalData);

Solusi 2

// ->remember() for caching request to prevent many queries, for faster result use apc cache in config files, no need to use memcache when You're using 1 app server

if(!User::where('id', '=', Auth::id())->remember(1440)->exists()) {
    return 'no user';
}

if(!Region::where('id', '=', $request->input('region_id'))->remember(1440)->exists()) {
    return 'no user';
}

$locationData = $request->only('street_address', 'city', 'province', 'country', 'postal_code');
$Location = Location::firstOrCreate($locationData);

$rentalData = [
    'user_id' => $User->id, 
    'region_id' => $Region->id, 
    'location_id' => $Location->id
];
$Rental = Rental::firstOrCreate($rentalData);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 'Tidak dapat terhubung ke server MySQL di \'db\' Django-Restframework dengan Mysql di buruh pelabuhan

  2. Bagaimana membandingkan dua daftar string yang dipisahkan koma menggunakan MySQL

  3. tidak dapat terhubung ke database MySQL menggunakan alamat ip eksternal

  4. Apakah ruang yang ditempati oleh baris yang dihapus dapat digunakan kembali?

  5. Bagaimana cara mendesain Tabel MySql untuk Tag Cloud?