Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

[SOLUCIONADO] Relacion 1 a 1 no me da el numero

Estas en el tema de Relacion 1 a 1 no me da el numero en el foro de Frameworks y PHP orientado a objetos en Foros del Web. He seguido el ejemplo , tengo la base de datos configurada así phones:id , id_user,number users:id,username,email,password. Los modelos Users Código PHP: <?php class  Users  extends  ...
  #1 (permalink)  
Antiguo 19/10/2014, 10:32
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 14 años
Puntos: 0
Relacion 1 a 1 no me da el numero

He seguido el ejemplo , tengo la base de datos configurada así

phones:id , id_user,number

users:id,username,email,password.

Los modelos

Users

Código PHP:
<?php

class Users extends Eloquent {

       protected 
$table 'users';

    protected 
$fillable = array('username''email''password');

    
/**1-1***/
    
public function phone()
    {
        return 
$this->hasOne('Phone','id');
    }

<?
php
class Phone extends Eloquent {

      protected 
$table 'phones';


  protected 
$fillable = array('id_user''number');

  public function 
users()
    {
        return 
$this->belongsTo('Users');
    }

}
Y el controlador

Código PHP:
public function unoauno()
    {
        
$user Users::find(38)->get();
        
$phone $user->number();
        return 
$phone;

El error es el siguiente :

Call to undefined method Illuminate\Database\Eloquent\Collection::number()
  #2 (permalink)  
Antiguo 19/10/2014, 15:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Relacion 1 a 1 no me da el numero

Necesitas hacer algo como:
Código PHP:
Ver original
  1. public function unoauno()
  2.     {
  3.         $user = Users::find(38)->get();
  4.         $phone = $user->phone();
  5.         return $phone->number();
  6. }
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: laravel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:59.