Mysql
 sql >> база данни >  >> RDS >> Mysql

Laravel 5 Създаване на нов запис, който принадлежи на 3 други таблици

Не разбирам защо да го правим толкова сложно?

опитайте това:

Решение 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);

Решение 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. цел на максималното число в php &mysql

  2. Разликата между 'AND' и '&&' в SQL

  3. Как да поправя сериализиран низ, който е повреден от неправилна дължина на броя на байтовете?

  4. Защо моята заявка с няколко колони е драматично по-бавна от съответните заявки с една колона, дори и с индекс от няколко колони?

  5. Буболечка? #1146 - Таблица 'xxx.xxxxx' не съществува